name: Publish to Cargo & JSR on: push: # tags: # - "**" permissions: write-all jobs: codegen: runs-on: ubuntu-24.04 steps: - name: Checkout code uses: actions/checkout@v4 - name: debug run: cat packages/ts/deno.json && cat packages/rust/Cargo.toml - name: Set Package Versions to current tag # run: sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/ts/deno.json \ # && sed -i "s/__PACKAGE_VERSION__/$(echo $GITHUB_REF | cut -d '/' -f 3)/g" packages/rust/Cargo.toml run: | sed -i "s/__PACKAGE_VERSION__/2.5.6/g" packages/ts/deno.json sed -i "s/__PACKAGE_VERSION__/2.5.6/g" packages/rust/Cargo.toml - name: Setup Buf uses: bufbuild/buf-setup-action@main with: github_token: ${{ github.token }} - name: Generate code run: buf generate - name: Copy license run: cp LICENSE packages/ts && cp LICENSE packages/rust - name: Upload Rust code uses: actions/upload-artifact@v4 with: name: rust_code path: packages/rust - name: Upload TypeScript code uses: actions/upload-artifact@v4 with: name: ts_code path: packages/ts publish-jsr: runs-on: ubuntu-24.04 needs: codegen permissions: contents: read id-token: write steps: - name: Download TypeScript code uses: actions/download-artifact@v4 with: name: ts_code - name: Set up Deno uses: denoland/setup-deno@main with: deno-version: rc - name: Publish to JSR run: deno publish --unstable-sloppy-imports publish-cargo: runs-on: ubuntu-24.04 needs: codegen steps: - name: Download Rust code uses: actions/download-artifact@v4 with: name: rust_code - name: Set up Rust uses: actions-rust-lang/setup-rust-toolchain@v1 - name: Check Library run: cargo check - name: Publish to crates.io uses: katyo/publish-crates@v2 with: registry-token: ${{ secrets.CARGO_TOKEN }} ignore-unpublished-changes: true