release: bump version to 0.4.1 #73
Workflow file for this run
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 | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| workflow_dispatch: | |
| jobs: | |
| build_release: | |
| name: Build ${{ matrix.asset_name }} | |
| runs-on: ${{ matrix.runner }} | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - runner: ubuntu-latest | |
| asset_name: omnigraph-linux-x86_64 | |
| - runner: macos-14 | |
| asset_name: omnigraph-macos-arm64 | |
| env: | |
| CARGO_TERM_COLOR: always | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v5.0.1 | |
| - name: Install Linux dependencies | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y protobuf-compiler libprotobuf-dev | |
| - name: Install macOS dependencies | |
| if: runner.os == 'macOS' | |
| run: brew install protobuf | |
| - name: Install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| - name: Cache Rust build data | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: | | |
| . -> target | |
| - name: Build release binaries | |
| run: cargo build --release --locked -p omnigraph-cli -p omnigraph-server | |
| - name: Package release archive | |
| run: | | |
| mkdir -p release | |
| install -m 0755 target/release/omnigraph release/omnigraph | |
| install -m 0755 target/release/omnigraph-server release/omnigraph-server | |
| tar -C release -czf "${{ matrix.asset_name }}.tar.gz" omnigraph omnigraph-server | |
| shasum -a 256 "${{ matrix.asset_name }}.tar.gz" > "${{ matrix.asset_name }}.sha256" | |
| - name: Publish GitHub release assets | |
| uses: softprops/action-gh-release@v2.5.0 | |
| with: | |
| files: | | |
| ${{ matrix.asset_name }}.tar.gz | |
| ${{ matrix.asset_name }}.sha256 | |
| update_homebrew_tap: | |
| name: Update Homebrew tap | |
| needs: build_release | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| env: | |
| HOMEBREW_TAP_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }} | |
| steps: | |
| - name: Skip if HOMEBREW_TAP_TOKEN is not configured | |
| if: env.HOMEBREW_TAP_TOKEN == '' | |
| run: | | |
| echo "HOMEBREW_TAP_TOKEN is not set; skipping Homebrew tap update." | |
| echo "HOMEBREW_TAP_SKIP=1" >> "$GITHUB_ENV" | |
| - name: Checkout source | |
| if: env.HOMEBREW_TAP_SKIP != '1' | |
| uses: actions/checkout@v5.0.1 | |
| - name: Checkout Homebrew tap | |
| if: env.HOMEBREW_TAP_SKIP != '1' | |
| uses: actions/checkout@v5.0.1 | |
| with: | |
| repository: ModernRelay/homebrew-tap | |
| token: ${{ secrets.HOMEBREW_TAP_TOKEN }} | |
| path: homebrew-tap | |
| - name: Update formula from release assets | |
| if: env.HOMEBREW_TAP_SKIP != '1' | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| ./scripts/update-homebrew-formula.sh "${GITHUB_REF_NAME}" homebrew-tap/Formula/omnigraph.rb | |
| - name: Commit and push formula update | |
| if: env.HOMEBREW_TAP_SKIP != '1' | |
| working-directory: homebrew-tap | |
| run: | | |
| if git diff --quiet -- Formula/omnigraph.rb; then | |
| echo "Formula already up to date" | |
| exit 0 | |
| fi | |
| git config user.name "github-actions[bot]" | |
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| git add Formula/omnigraph.rb | |
| git commit -m "Update Omnigraph formula to ${GITHUB_REF_NAME}" | |
| git push origin HEAD:main |