chore: Updated workflow 3ff04493
Example User · 2025-07-11 11:57 2 file(s) · +15 −10
.github/workflows/release.yml +7 −7
47 47
jobs:
48 48
  # Run 'dist plan' (or host) to determine what tasks we need to do
49 49
  plan:
50 -
    runs-on: "ubuntu-24.04"
50 +
    runs-on: "ubuntu-20.04"
51 51
    outputs:
52 52
      val: ${{ steps.plan.outputs.manifest }}
53 53
      tag: ${{ !github.event.pull_request && github.ref_name || '' }}
76 76
      # but also really annoying to build CI around when it needs secrets to work right.)
77 77
      - id: plan
78 78
        run: |
79 -
          dist ${{ (!github.event.pull_request && format('host --steps=create --tag={0}', github.ref_name)) || 'plan' }} --output-format=json --allow-dirty > plan-dist-manifest.json
79 +
          dist ${{ (!github.event.pull_request && format('host --steps=create --tag={0}', github.ref_name)) || 'plan' }} --output-format=json > plan-dist-manifest.json
80 80
          echo "dist ran successfully"
81 81
          cat plan-dist-manifest.json
82 82
          echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
140 140
      - name: Build artifacts
141 141
        run: |
142 142
          # Actually do builds and make zips and whatnot
143 -
          dist build ${{ needs.plan.outputs.tag-flag }} --print=linkage --output-format=json --allow-dirty ${{ matrix.dist_args }} > dist-manifest.json
143 +
          dist build ${{ needs.plan.outputs.tag-flag }} --print=linkage --output-format=json ${{ matrix.dist_args }} > dist-manifest.json
144 144
          echo "dist ran successfully"
145 145
      - id: cargo-dist
146 146
        name: Post-build
168 168
    needs:
169 169
      - plan
170 170
      - build-local-artifacts
171 -
    runs-on: "ubuntu-24.04"
171 +
    runs-on: "ubuntu-20.04"
172 172
    env:
173 173
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
174 174
      BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
218 218
    if: ${{ always() && needs.plan.outputs.publishing == 'true' && (needs.build-global-artifacts.result == 'skipped' || needs.build-global-artifacts.result == 'success') && (needs.build-local-artifacts.result == 'skipped' || needs.build-local-artifacts.result == 'success') }}
219 219
    env:
220 220
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
221 -
    runs-on: "ubuntu-24.04"
221 +
    runs-on: "ubuntu-20.04"
222 222
    outputs:
223 223
      val: ${{ steps.host.outputs.manifest }}
224 224
    steps:
278 278
    needs:
279 279
      - plan
280 280
      - host
281 -
    runs-on: "ubuntu-24.04"
281 +
    runs-on: "ubuntu-20.04"
282 282
    env:
283 283
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
284 284
      PLAN: ${{ needs.plan.outputs.val }}
328 328
    # still allowing individual publish jobs to skip themselves (for prereleases).
329 329
    # "host" however must run to completion, no skipping allowed!
330 330
    if: ${{ always() && needs.host.result == 'success' && (needs.publish-homebrew-formula.result == 'skipped' || needs.publish-homebrew-formula.result == 'success') }}
331 -
    runs-on: "ubuntu-24.04"
331 +
    runs-on: "ubuntu-20.04"
332 332
    env:
333 333
      GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
334 334
    steps:
dist-workspace.toml +8 −3
1 1
[workspace]
2 2
members = ["cargo:."]
3 3
4 -
[workspace.metadata.dist]
5 -
allow-dirty = ["ci"]
6 -
7 4
# Config for 'dist'
8 5
[dist]
9 6
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
22 19
publish-jobs = ["homebrew"]
23 20
# Whether to install an updater program
24 21
install-updater = false
22 +
23 +
# Custom runner configurations
24 +
[dist.github-custom-runners]
25 +
# Use Ubuntu 24.04 for Linux builds
26 +
x86_64-unknown-linux-gnu = "ubuntu-24.04"
27 +
aarch64-unknown-linux-gnu = "ubuntu-24.04"
28 +
# Use Windows 2022 for Windows builds (this is already the default, but explicitly specified here)
29 +
x86_64-pc-windows-msvc = "windows-2022"