on: repository_dispatch: types: [spec_release] workflow_dispatch: #on: push name: Generate VRChat API SDK jobs: generate: runs-on: ubuntu-latest name: Generate VRChat API SDK steps: - uses: actions/setup-node@v3 with: node-version: 16 - uses: actions/checkout@v3 - name: 'Cache node_modules' uses: actions/cache@v3 with: path: node_modules key: ${{ runner.os }}-node-v16-${{ hashFiles('**/generate.sh') }} restore-keys: | ${{ runner.os }}-node-v16 - name: Install OpenAPI Generator CLI run: npm install @openapitools/openapi-generator-cli - name: Set OpenAPI Generator version run: ./node_modules/\@openapitools/openapi-generator-cli/main.js version-manager set 7.7.0 - name: Set up JDK 13 uses: actions/setup-java@v3 with: java-version: '13' distribution: 'adopt' - name: Install Rustup toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Generate SDK Client run: bash ./generate.sh - name: Check version number run: | echo "spec_version=$(grep "^version" ./Cargo.toml | cut -d "\"" -f 2)" >> $GITHUB_ENV - name: Print version number run: echo ${{ env.spec_version }} - name: Deploy SDK back into main branch uses: JamesIves/github-pages-deploy-action@v4 with: branch: main folder: . commit-message: "Upgrade Rust SDK to spec ${{ env.spec_version }}" - name: Deploy to Crates.io uses: katyo/publish-crates@v1 with: registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} args: --allow-dirty