Skip to content

Commit d2ef134

Browse files
authored
new dist, fix release pipeline (#41)
1 parent f658fb9 commit d2ef134

File tree

3 files changed

+53
-35
lines changed

3 files changed

+53
-35
lines changed

.github/workflows/release.yml

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This file was autogenerated by dist: https://opensource.axo.dev/cargo-dist/
1+
# This file was autogenerated by dist: https://axodotdev.github.io/cargo-dist
22
#
33
# Copyright 2022-2024, axodotdev
44
# SPDX-License-Identifier: MIT or Apache-2.0
@@ -47,7 +47,7 @@ on:
4747
jobs:
4848
# Run 'dist plan' (or host) to determine what tasks we need to do
4949
plan:
50-
runs-on: "ubuntu-20.04"
50+
runs-on: "ubuntu-22.04"
5151
outputs:
5252
val: ${{ steps.plan.outputs.manifest }}
5353
tag: ${{ !github.event.pull_request && github.ref_name || '' }}
@@ -56,16 +56,17 @@ jobs:
5656
env:
5757
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5858
steps:
59-
- uses: actions/checkout@v6
59+
- uses: actions/checkout@v4
6060
with:
61+
persist-credentials: false
6162
submodules: recursive
6263
- name: Install dist
6364
# we specify bash to get pipefail; it guards against the `curl` command
6465
# failing. otherwise `sh` won't catch that `curl` returned non-0
6566
shell: bash
66-
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.27.0/cargo-dist-installer.sh | sh"
67+
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.3/cargo-dist-installer.sh | sh"
6768
- name: Cache dist
68-
uses: actions/upload-artifact@v6
69+
uses: actions/upload-artifact@v4
6970
with:
7071
name: cargo-dist-cache
7172
path: ~/.cargo/bin/dist
@@ -81,7 +82,7 @@ jobs:
8182
cat plan-dist-manifest.json
8283
echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
8384
- name: "Upload dist-manifest.json"
84-
uses: actions/upload-artifact@v6
85+
uses: actions/upload-artifact@v4
8586
with:
8687
name: artifacts-plan-dist-manifest
8788
path: plan-dist-manifest.json
@@ -115,8 +116,9 @@ jobs:
115116
- name: enable windows longpaths
116117
run: |
117118
git config --global core.longpaths true
118-
- uses: actions/checkout@v6
119+
- uses: actions/checkout@v4
119120
with:
121+
persist-credentials: false
120122
submodules: recursive
121123
- name: Install Rust non-interactively if not already installed
122124
if: ${{ matrix.container }}
@@ -129,7 +131,7 @@ jobs:
129131
run: ${{ matrix.install_dist.run }}
130132
# Get the dist-manifest
131133
- name: Fetch local artifacts
132-
uses: actions/download-artifact@v7
134+
uses: actions/download-artifact@v4
133135
with:
134136
pattern: artifacts-*
135137
path: target/distrib/
@@ -156,7 +158,7 @@ jobs:
156158
157159
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
158160
- name: "Upload artifacts"
159-
uses: actions/upload-artifact@v6
161+
uses: actions/upload-artifact@v4
160162
with:
161163
name: artifacts-build-local-${{ join(matrix.targets, '_') }}
162164
path: |
@@ -168,23 +170,24 @@ jobs:
168170
needs:
169171
- plan
170172
- build-local-artifacts
171-
runs-on: "ubuntu-20.04"
173+
runs-on: "ubuntu-22.04"
172174
env:
173175
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
174176
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
175177
steps:
176-
- uses: actions/checkout@v6
178+
- uses: actions/checkout@v4
177179
with:
180+
persist-credentials: false
178181
submodules: recursive
179182
- name: Install cached dist
180-
uses: actions/download-artifact@v7
183+
uses: actions/download-artifact@v4
181184
with:
182185
name: cargo-dist-cache
183186
path: ~/.cargo/bin/
184187
- run: chmod +x ~/.cargo/bin/dist
185188
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
186189
- name: Fetch local artifacts
187-
uses: actions/download-artifact@v7
190+
uses: actions/download-artifact@v4
188191
with:
189192
pattern: artifacts-*
190193
path: target/distrib/
@@ -202,7 +205,7 @@ jobs:
202205
203206
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
204207
- name: "Upload artifacts"
205-
uses: actions/upload-artifact@v6
208+
uses: actions/upload-artifact@v4
206209
with:
207210
name: artifacts-build-global
208211
path: |
@@ -214,26 +217,27 @@ jobs:
214217
- plan
215218
- build-local-artifacts
216219
- build-global-artifacts
217-
# Only run if we're "publishing", and only if local and global didn't fail (skipped is fine)
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') }}
220+
# Only run if we're "publishing", and only if plan, local and global didn't fail (skipped is fine)
221+
if: ${{ always() && needs.plan.result == 'success' && 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') }}
219222
env:
220223
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
221-
runs-on: "ubuntu-20.04"
224+
runs-on: "ubuntu-22.04"
222225
outputs:
223226
val: ${{ steps.host.outputs.manifest }}
224227
steps:
225-
- uses: actions/checkout@v6
228+
- uses: actions/checkout@v4
226229
with:
230+
persist-credentials: false
227231
submodules: recursive
228232
- name: Install cached dist
229-
uses: actions/download-artifact@v7
233+
uses: actions/download-artifact@v4
230234
with:
231235
name: cargo-dist-cache
232236
path: ~/.cargo/bin/
233237
- run: chmod +x ~/.cargo/bin/dist
234238
# Fetch artifacts from scratch-storage
235239
- name: Fetch artifacts
236-
uses: actions/download-artifact@v7
240+
uses: actions/download-artifact@v4
237241
with:
238242
pattern: artifacts-*
239243
path: target/distrib/
@@ -246,14 +250,14 @@ jobs:
246250
cat dist-manifest.json
247251
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
248252
- name: "Upload dist-manifest.json"
249-
uses: actions/upload-artifact@v6
253+
uses: actions/upload-artifact@v4
250254
with:
251255
# Overwrite the previous copy
252256
name: artifacts-dist-manifest
253257
path: dist-manifest.json
254258
# Create a GitHub Release while uploading all files to it
255259
- name: "Download GitHub Artifacts"
256-
uses: actions/download-artifact@v7
260+
uses: actions/download-artifact@v4
257261
with:
258262
pattern: artifacts-*
259263
path: artifacts
@@ -282,10 +286,11 @@ jobs:
282286
# still allowing individual publish jobs to skip themselves (for prereleases).
283287
# "host" however must run to completion, no skipping allowed!
284288
if: ${{ always() && needs.host.result == 'success' }}
285-
runs-on: "ubuntu-20.04"
289+
runs-on: "ubuntu-22.04"
286290
env:
287291
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
288292
steps:
289-
- uses: actions/checkout@v6
293+
- uses: actions/checkout@v4
290294
with:
295+
persist-credentials: false
291296
submodules: recursive

Cargo.toml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,3 @@ structopt = "0.3.26"
2121
[profile.dist]
2222
inherits = "release"
2323
lto = "thin"
24-
25-
# Config for 'dist'
26-
[workspace.metadata.dist]
27-
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
28-
cargo-dist-version = "0.27.0"
29-
# CI backends to support
30-
ci = "github"
31-
# The installers to generate for each app
32-
installers = []
33-
# Target platforms to build apps for (Rust target-triple syntax)
34-
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]

dist-workspace.toml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[workspace]
2+
members = ["cargo:."]
3+
4+
# Config for 'dist'
5+
[dist]
6+
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
7+
cargo-dist-version = "0.30.3"
8+
# CI backends to support
9+
ci = "github"
10+
# The installers to generate for each app
11+
installers = [
12+
"shell",
13+
"homebrew",
14+
]
15+
# Target platforms to build apps for (Rust target-triple syntax)
16+
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
17+
# A GitHub repo to push Homebrew formulas to
18+
tap = "purajit/ruff-tools"
19+
# Path that installers should place binaries in
20+
install-path = "CARGO_HOME"
21+
# Publish jobs to run in CI
22+
# publish-jobs = ["homebrew"]
23+
# Whether to install an updater program
24+
install-updater = false

0 commit comments

Comments
 (0)