diff --git a/.github/dist-build-setup.yml b/.github/dist-build-setup.yml
new file mode 100644
index 0000000..a08d146
--- /dev/null
+++ b/.github/dist-build-setup.yml
@@ -0,0 +1,7 @@
+- name: Install cargo-about
+ shell: bash
+ run: cargo install --locked --features cli cargo-about
+
+- name: Generate third-party licenses
+ shell: bash
+ run: cargo about generate about.hbs > THIRD_PARTY_LICENSES.html
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3c59af5..9d5dc97 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -56,7 +56,7 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
@@ -64,9 +64,9 @@ jobs:
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
- run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.3/cargo-dist-installer.sh | sh"
+ run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.32.0/cargo-dist-installer.sh | sh"
- name: Cache dist
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: cargo-dist-cache
path: ~/.cargo/bin/dist
@@ -82,7 +82,7 @@ jobs:
cat plan-dist-manifest.json
echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: artifacts-plan-dist-manifest
path: plan-dist-manifest.json
@@ -116,7 +116,7 @@ jobs:
- name: enable windows longpaths
run: |
git config --global core.longpaths true
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
@@ -127,11 +127,17 @@ jobs:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
fi
+ - name: "Install cargo-about"
+ run: "cargo install --locked --features cli cargo-about"
+ shell: "bash"
+ - name: "Generate third-party licenses"
+ run: "cargo about generate about.hbs > THIRD_PARTY_LICENSES.html"
+ shell: "bash"
- name: Install dist
run: ${{ matrix.install_dist.run }}
# Get the dist-manifest
- name: Fetch local artifacts
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
pattern: artifacts-*
path: target/distrib/
@@ -158,7 +164,7 @@ jobs:
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: artifacts-build-local-${{ join(matrix.targets, '_') }}
path: |
@@ -175,19 +181,19 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
- name: Install cached dist
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: cargo-dist-cache
path: ~/.cargo/bin/
- run: chmod +x ~/.cargo/bin/dist
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
- name: Fetch local artifacts
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
pattern: artifacts-*
path: target/distrib/
@@ -205,7 +211,7 @@ jobs:
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: artifacts-build-global
path: |
@@ -225,19 +231,19 @@ jobs:
outputs:
val: ${{ steps.host.outputs.manifest }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
- name: Install cached dist
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: cargo-dist-cache
path: ~/.cargo/bin/
- run: chmod +x ~/.cargo/bin/dist
# Fetch artifacts from scratch-storage
- name: Fetch artifacts
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
pattern: artifacts-*
path: target/distrib/
@@ -250,14 +256,14 @@ jobs:
cat dist-manifest.json
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
# Overwrite the previous copy
name: artifacts-dist-manifest
path: dist-manifest.json
# Create a GitHub Release while uploading all files to it
- name: "Download GitHub Artifacts"
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
pattern: artifacts-*
path: artifacts
@@ -290,7 +296,7 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
with:
persist-credentials: false
submodules: recursive
diff --git a/about.hbs b/about.hbs
new file mode 100644
index 0000000..699b3b0
--- /dev/null
+++ b/about.hbs
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
Third Party Licenses
+
This page lists the licenses of the projects used in cargo-about.
+
+
+ Overview of licenses:
+
+ {{#each overview}}
+ - {{name}} ({{count}})
+ {{/each}}
+
+
+ All license text:
+
+ {{#each licenses}}
+ -
+
{{name}}
+ Used by:
+
+ {{text}}
+
+ {{/each}}
+
+
+
+
+
diff --git a/about.toml b/about.toml
new file mode 100644
index 0000000..2405bad
--- /dev/null
+++ b/about.toml
@@ -0,0 +1,10 @@
+accepted = [
+ "AGPL-3.0-only",
+ "Apache-2.0",
+ "BSD-3-Clause",
+ "BSL-1.0",
+ "GPL-3.0-or-later",
+ "MIT",
+ "Unicode-3.0",
+ "Zlib",
+]
diff --git a/dist-workspace.toml b/dist-workspace.toml
index fb229c0..62ad17b 100644
--- a/dist-workspace.toml
+++ b/dist-workspace.toml
@@ -4,10 +4,23 @@ members = ["cargo:."]
# Config for 'dist'
[dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
-cargo-dist-version = "0.30.3"
+cargo-dist-version = "0.32.0"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = []
# Target platforms to build apps for (Rust target-triple syntax)
-targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"]
+targets = [
+ "aarch64-apple-darwin",
+ "x86_64-apple-darwin",
+ "x86_64-pc-windows-msvc",
+ "x86_64-unknown-linux-gnu",
+ "x86_64-unknown-linux-musl",
+]
+# Additional files
+include = [
+ "COPYING",
+ "THIRD_PARTY_LICENSES.html",
+]
+changelog = "CHANGELOG.md"
+github-build-setup = "../dist-build-setup.yml"
\ No newline at end of file