chore(release): bump version to 0.6.0 #61
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | ||
|
Check failure on line 1 in .github/workflows/release.yml
|
||
| on: | ||
| push: | ||
| tags: | ||
| - "v*" | ||
| workflow_dispatch: | ||
| jobs: | ||
| verify: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '22' | ||
| - name: Setup Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
| - name: Verify conformance | ||
| run: bash scripts/conformance.sh | ||
| - name: Verify README command examples | ||
| run: bash scripts/check_readme_examples.sh | ||
| - name: Validate schemas | ||
| run: bash scripts/validate_schemas.sh | ||
| - name: Verify version/tag consistency | ||
| run: | | ||
| TAG_NAME="" | ||
| if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then | ||
| TAG_NAME="${GITHUB_REF_NAME}" | ||
| fi | ||
| bash scripts/release/verify_versions.sh "${TAG_NAME}" | ||
| package-node: | ||
| needs: verify | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '22' | ||
| registry-url: 'https://registry.npmjs.org' | ||
| - name: Build npm package tarball | ||
| run: npm pack | ||
| - name: Upload npm artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: node-package | ||
| path: '*.tgz' | ||
| - name: Publish to npm | ||
| if: ${{ github.event_name == 'push' && github.ref_type == 'tag' && secrets.NPM_TOKEN != '' }} | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
| run: npm publish --access public | ||
| publish-github-package: | ||
| needs: verify | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
| packages: write | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Node.js for GitHub Packages | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '22' | ||
| registry-url: 'https://npm.pkg.github.com' | ||
| - name: Prepare scoped package name | ||
| env: | ||
| REPOSITORY_OWNER: ${{ github.repository_owner }} | ||
| run: | | ||
| OWNER="$(echo "$REPOSITORY_OWNER" | tr '[:upper:]' '[:lower:]')" | ||
| export OWNER | ||
| node -e "const fs=require('fs'); const pkg=require('./package.json'); const base=pkg.name.includes('/') ? pkg.name.split('/').pop() : pkg.name; pkg.name='@'+process.env.OWNER+'/'+base; fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2)+'\n');" | ||
| - name: Publish to GitHub Packages | ||
| env: | ||
| NODE_AUTH_TOKEN: ${{ github.token }} | ||
| run: npm publish --registry https://npm.pkg.github.com | ||
| package-rust: | ||
| needs: verify | ||
| runs-on: ${{ matrix.os }} | ||
| strategy: | ||
| matrix: | ||
| include: | ||
| - os: ubuntu-latest | ||
| artifact_name: bridge-linux-x64 | ||
| binary_path: target/release/bridge | ||
| - os: macos-latest | ||
| artifact_name: bridge-macos-arm64 | ||
| binary_path: target/release/bridge | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
| - name: Build release binary | ||
| run: cargo build --manifest-path cli/Cargo.toml --release | ||
| - name: Upload release binary | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ matrix.artifact_name }} | ||
| path: ${{ matrix.binary_path }} | ||
| publish-crate: | ||
| needs: verify | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| - name: Setup Rust | ||
| uses: dtolnay/rust-toolchain@stable | ||
| - name: Publish crate to crates.io | ||
| if: ${{ github.event_name == 'push' && github.ref_type == 'tag' && secrets.CARGO_REGISTRY_TOKEN != '' }} | ||
| env: | ||
| CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | ||
| run: cargo publish --manifest-path cli/Cargo.toml | ||