docs: polish README pour audience publique #5
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
| # Colony Rust App — Release Workflow (per-commit) | |
| # | |
| # Every push to main produces a new release tagged `v0.1.<run_number>` with | |
| # the four single-file binaries attached: grape-linux, grape-windows.exe, | |
| # grape-macos, grape-macos-x86. Colony picks up the "latest" release via the | |
| # GitHub API and promotes the new version to users automatically. | |
| name: Release | |
| on: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: write | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build: | |
| name: Build ${{ matrix.asset }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| os: ubuntu-latest | |
| asset: grape-linux | |
| - target: x86_64-pc-windows-msvc | |
| os: windows-latest | |
| asset: grape-windows.exe | |
| - target: aarch64-apple-darwin | |
| os: macos-latest | |
| asset: grape-macos | |
| - target: x86_64-apple-darwin | |
| os: macos-latest | |
| asset: grape-macos-x86 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ${{ matrix.target }} | |
| # Grape runtime needs GTK3 (tray-icon), xdo (global-hotkey), dbus | |
| # (notify-rust) and ALSA (rodio) on Linux. | |
| - name: Install Linux dependencies | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libgtk-3-dev \ | |
| libxdo-dev \ | |
| libdbus-1-dev \ | |
| libasound2-dev \ | |
| libglib2.0-dev \ | |
| pkg-config | |
| - name: Build | |
| run: cargo build --release --target ${{ matrix.target }} | |
| - name: Stage binary (Unix) | |
| if: runner.os != 'Windows' | |
| run: cp target/${{ matrix.target }}/release/grape ${{ matrix.asset }} | |
| - name: Stage binary (Windows) | |
| if: runner.os == 'Windows' | |
| run: copy target\${{ matrix.target }}\release\grape.exe ${{ matrix.asset }} | |
| - name: Upload build artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.asset }} | |
| path: ${{ matrix.asset }} | |
| release: | |
| name: Publish release | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: release-assets | |
| merge-multiple: true | |
| - name: Publish release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: v0.1.${{ github.run_number }} | |
| name: v0.1.${{ github.run_number }} | |
| body: | | |
| Automated release from ${{ github.sha }}. | |
| files: release-assets/* | |
| make_latest: true | |
| generate_release_notes: false |