fix(release-plz): mark openlogi-gui publish=false to match its manifest #9
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-plz | |
| on: | |
| push: | |
| branches: [master] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| CARGO_INCREMENTAL: 0 | |
| jobs: | |
| # Opens/updates a release PR that bumps the shared workspace version and writes | |
| # changelogs from the conventional commits since the last release. Merging that | |
| # PR is what triggers the actual release in the job below. | |
| release-pr: | |
| name: release-plz PR | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| concurrency: | |
| group: release-plz-pr-${{ github.ref }} | |
| cancel-in-progress: false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install Linux build deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libudev-dev pkg-config gcc g++ clang libssl-dev libzstd-dev | |
| # GitHub App token (not a PAT) so the release PR / tag trigger CI and the | |
| # DMG release workflow — the default GITHUB_TOKEN cannot trigger workflows. | |
| # App credentials come from the same 1Password item as release.yml. | |
| - name: Load GitHub App credentials from 1Password | |
| id: load_secrets | |
| uses: 1password/load-secrets-action@v4 | |
| with: | |
| export-env: false | |
| env: | |
| OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} | |
| GITHUB_APP_ID: ${{ secrets.OP_GITHUB_APP_ITEM }}/GITHUB_APP_ID | |
| GITHUB_APP_PRIVATE_KEY: ${{ secrets.OP_GITHUB_APP_ITEM }}/GITHUB_APP_PRIVATE_KEY | |
| # App key is stored base64-encoded in 1Password (raw PEM newlines get | |
| # mangled to spaces on paste); decode it (base64 ignores whitespace). | |
| - name: Decode GitHub App private key | |
| id: app_key | |
| env: | |
| APP_KEY_B64: ${{ steps.load_secrets.outputs.GITHUB_APP_PRIVATE_KEY }} | |
| run: | | |
| key="$(printf '%s' "$APP_KEY_B64" | tr -d '[:space:]' | base64 -d)" | |
| { | |
| echo 'pem<<__PEM__' | |
| printf '%s\n' "$key" | |
| echo '__PEM__' | |
| } >> "$GITHUB_OUTPUT" | |
| - name: Mint GitHub App token | |
| id: app-token | |
| uses: actions/create-github-app-token@v2 | |
| with: | |
| app-id: ${{ steps.load_secrets.outputs.GITHUB_APP_ID }} | |
| private-key: ${{ steps.app_key.outputs.pem }} | |
| - name: Run release-plz (release-pr) | |
| uses: release-plz/action@v0.5 | |
| with: | |
| command: release-pr | |
| env: | |
| GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} | |
| CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
| # On every push to master, publishes any crate whose manifest version is not yet | |
| # on crates.io — i.e. a no-op until the release PR is merged, at which point it | |
| # publishes the whole workspace and cuts one `v{version}` tag + GitHub Release. | |
| release: | |
| name: release-plz release | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install Linux build deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| libudev-dev pkg-config gcc g++ clang libssl-dev libzstd-dev | |
| - name: Load GitHub App credentials from 1Password | |
| id: load_secrets | |
| uses: 1password/load-secrets-action@v4 | |
| with: | |
| export-env: false | |
| env: | |
| OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }} | |
| GITHUB_APP_ID: ${{ secrets.OP_GITHUB_APP_ITEM }}/GITHUB_APP_ID | |
| GITHUB_APP_PRIVATE_KEY: ${{ secrets.OP_GITHUB_APP_ITEM }}/GITHUB_APP_PRIVATE_KEY | |
| # App key is stored base64-encoded in 1Password (raw PEM newlines get | |
| # mangled to spaces on paste); decode it (base64 ignores whitespace). | |
| - name: Decode GitHub App private key | |
| id: app_key | |
| env: | |
| APP_KEY_B64: ${{ steps.load_secrets.outputs.GITHUB_APP_PRIVATE_KEY }} | |
| run: | | |
| key="$(printf '%s' "$APP_KEY_B64" | tr -d '[:space:]' | base64 -d)" | |
| { | |
| echo 'pem<<__PEM__' | |
| printf '%s\n' "$key" | |
| echo '__PEM__' | |
| } >> "$GITHUB_OUTPUT" | |
| - name: Mint GitHub App token | |
| id: app-token | |
| uses: actions/create-github-app-token@v2 | |
| with: | |
| app-id: ${{ steps.load_secrets.outputs.GITHUB_APP_ID }} | |
| private-key: ${{ steps.app_key.outputs.pem }} | |
| - name: Run release-plz (release) | |
| uses: release-plz/action@v0.5 | |
| with: | |
| command: release | |
| env: | |
| GITHUB_TOKEN: ${{ steps.app-token.outputs.token }} | |
| CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} |