Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
c83d437
chore: rename publish workflow to release
lwshang Mar 25, 2026
361cef8
chore: unify Rust toolchain installation and caching across workflows
lwshang Mar 25, 2026
69832d3
chore: standardize CI runner images to current versions
lwshang Mar 25, 2026
d6e7e72
chore: simplify release.yml build matrix
lwshang Mar 25, 2026
2c64009
chore: add trusted publishing workflow for crates.io
lwshang Mar 25, 2026
562de9e
chore: bump ic-asset and icx-asset to 0.28.1
lwshang Mar 25, 2026
b388923
fix: make macOS dynamic library check sort-order independent
lwshang Mar 25, 2026
1cde4ad
chore: show only OS in build_dfx matrix job names
lwshang Mar 25, 2026
2a0eac7
chore: drop macOS Intel runners from CI workflows
lwshang Mar 25, 2026
9f91d8b
chore: share Rust cache across workflows on the same runner
lwshang Mar 25, 2026
09f6f34
fix: skip canister_http_config_on_local_network test on macOS
lwshang Mar 25, 2026
11819a9
fix: guard cargo-audit uninstall with existence check in CI provisioning
lwshang Mar 25, 2026
f37965a
chore: disable slow config-change-detection e2e tests
lwshang Mar 25, 2026
18ff8dc
chore: install ic-wasm via installer script instead of cargo-binstall
lwshang Mar 25, 2026
692697c
chore: document why Rust cache is disabled in fmt workflow
lwshang Mar 26, 2026
3f5a4f9
chore: remove prepare-dfx-assets stub workflow
lwshang Mar 26, 2026
d634770
chore: rename publishable:required to build-dfx:required
lwshang Mar 26, 2026
91d4171
chore: clean up CI workflows
lwshang Mar 26, 2026
18314b7
chore: update GitHub Actions to latest versions for Node.js 24
lwshang Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ jobs:
issues: write

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: actions-rust-lang/audit@v1
6 changes: 3 additions & 3 deletions .github/workflows/broadcast-frontend-hash.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
run: sudo apt-get install --yes moreutils

- name: Checkout dfinity/sdk repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0 # workaround to fetch all tags: https://github.com/actions/checkout/issues/701
path: sdk
Expand All @@ -47,14 +47,14 @@ jobs:
echo "NEW_HASH=$(shasum -a 256 src/distributed/assetstorage.wasm.gz | cut -f1 -d" ")" >> $GITHUB_ENV

- name: Create GitHub App Token
uses: actions/create-github-app-token@v2
uses: actions/create-github-app-token@v3
id: app-token
with:
app-id: ${{ vars.PR_AUTOMATION_BOT_PUBLIC_APP_ID }}
private-key: ${{ secrets.PR_AUTOMATION_BOT_PUBLIC_PRIVATE_KEY }}

- name: Checkout dfinity/motoko-playground repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
token: ${{ steps.app-token.outputs.token }}
repository: ${{ env.PLAYGROUND_REPO }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-frontend-canister.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ jobs:
name: frontend-canister-up-to-date:required
steps:
- name: Check out the repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Build frontend canister
run: |
./scripts/update-frontend-canister.sh --release-build
- name: Artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: assetstorage
path: ${{ github.workspace }}/src/distributed/assetstorage.wasm.gz
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deny.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
name: license-check:required
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- run: rm rust-toolchain.toml
- uses: EmbarkStudios/cargo-deny-action@v2
with:
Expand Down
70 changes: 22 additions & 48 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ jobs:
outputs:
sources: ${{ steps.filter.outputs.sources }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
if: github.event_name == 'push'
- uses: dorny/paths-filter@v3
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
Expand Down Expand Up @@ -55,52 +55,26 @@ jobs:
matrix:
# We build a dynamic-linked linux binary because otherwise HSM support fails with:
# Error: IO: Dynamic loading not supported
os: [macos-14, macos-14-large, ubuntu-22.04, ubuntu-22.04-arm, ubuntu-24.04, ubuntu-24.04-arm, windows-2022]
include:
- os: macos-14-large
target: x86_64-apple-darwin
binary_path: target/x86_64-apple-darwin/release/dfx
- os: macos-14
target: aarch64-apple-darwin
binary_path: target/aarch64-apple-darwin/release/dfx
- os: ubuntu-22.04
target: x86_64-unknown-linux-gnu
binary_path: target/x86_64-unknown-linux-gnu/release/dfx
- os: ubuntu-22.04-arm
target: aarch64-unknown-linux-gnu
binary_path: target/aarch64-unknown-linux-gnu/release/dfx
- os: ubuntu-24.04
target: x86_64-unknown-linux-gnu
binary_path: target/x86_64-unknown-linux-gnu/release/dfx
- os: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
binary_path: target/aarch64-unknown-linux-gnu/release/dfx
- os: windows-2022
target: x86_64-pc-windows-msvc
binary_path: target\x86_64-pc-windows-msvc\release\dfx.exe
os: [macos-15, ubuntu-24.04, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup environment variables
run: |
echo "RUSTFLAGS=--remap-path-prefix=${GITHUB_WORKSPACE}=/builds/dfinity" >> $GITHUB_ENV
- name: Cache Cargo
uses: actions/cache@v4
# This step also handles Rust-specific caching
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ matrix.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-${{ hashFiles('rust-toolchain.toml') }}-1
cache-shared-key: release
- name: Build
run: |
cargo build --target ${{ matrix.target }} --locked --release
run: cargo build --locked --release
- name: Upload Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: dfx-${{ matrix.os }}-rs-${{ hashFiles('rust-toolchain.toml') }}
path: ${{ matrix.binary_path }}
path: target/release/dfx

list_tests:
if: needs.changes.outputs.sources == 'true'
Expand All @@ -109,7 +83,7 @@ jobs:
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- id: set-matrix
run: echo "matrix=$(scripts/workflows/e2e-matrix.py)" >> $GITHUB_OUTPUT

Expand All @@ -120,11 +94,11 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-14-large, ubuntu-22.04, ubuntu-22.04-arm, ubuntu-24.04, ubuntu-24.04-arm]
os: [macos-15, ubuntu-24.04, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Download dfx binary
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: dfx-${{ matrix.os }}-rs-${{ hashFiles('rust-toolchain.toml') }}
path: /usr/local/bin
Expand Down Expand Up @@ -152,9 +126,9 @@ jobs:
env:
E2E_TEST: tests-${{ matrix.test }}.bash
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Download dfx binary
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: dfx-${{ matrix.os }}-rs-${{ hashFiles('rust-toolchain.toml') }}
path: /usr/local/bin
Expand All @@ -175,7 +149,7 @@ jobs:
- name: Download bats-support as a git submodule
run: git submodule update --init --recursive
- name: Cache mops files
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: |
e2e/assets/playground_backend/.mops
Expand All @@ -190,12 +164,12 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-14-large, ubuntu-22.04, ubuntu-22.04-arm, ubuntu-24.04, ubuntu-24.04-arm]
os: [macos-15, ubuntu-24.04, ubuntu-24.04-arm]
steps:
- name: Checking out repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setting up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.9"
- name: Installing playwright
Expand All @@ -204,7 +178,7 @@ jobs:
playwright install
playwright install-deps
- name: Download dfx binary
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: dfx-${{ matrix.os }}-rs-${{ hashFiles('rust-toolchain.toml') }}
path: /usr/local/bin
Expand Down
21 changes: 10 additions & 11 deletions .github/workflows/fmt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
# Use the local .curlrc
CURL_HOME: .
# Disable DFX telemetry
DFX_TELEMETRY: 'off'
DFX_TELEMETRY: "off"

jobs:
changes:
Expand All @@ -22,9 +22,9 @@ jobs:
outputs:
sources: ${{ steps.filter.outputs.sources }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
if: github.event_name == 'push'
- uses: dorny/paths-filter@v3
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
Expand All @@ -42,16 +42,15 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Cache Cargo
uses: actions/cache@v4
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}-1
# Disable cache: fmt doesn't need target/ artifacts, so it would
# save an empty cache that evicts the real one used by other workflows
# (caches are shared across workflows on the same runner).
cache: false

- name: Run Cargo Fmt
run: cargo fmt --all -- --check
Expand Down
18 changes: 8 additions & 10 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ jobs:
outputs:
sources: ${{ steps.filter.outputs.sources }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
if: github.event_name == 'push'
- uses: dorny/paths-filter@v3
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
Expand All @@ -43,18 +43,16 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, ubuntu-24.04-arm, macos-14, macos-14-large, windows-latest ]
os: [ ubuntu-24.04, ubuntu-24.04-arm, macos-15 ]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- uses: actions/cache@v4
# This step also handles Rust-specific caching
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
cache-shared-key: debug

- name: Run Lint
run: cargo clippy --verbose --tests --benches --workspace -- -D warnings
Expand Down
52 changes: 0 additions & 52 deletions .github/workflows/prepare-dfx-assets.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/publish-manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
name: install-script-shellcheck:required
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install shfmt
run: go install mvdan.cc/sh/v3/cmd/shfmt@latest
- name: Generate
Expand All @@ -37,8 +37,8 @@ jobs:
cp public/manifest.json _out/manifest.json
- name: Upload Artifacts
if: github.event_name == 'push'
uses: JamesIves/github-pages-deploy-action@releases/v3
uses: JamesIves/github-pages-deploy-action@v4
with:
single_commit: yes
single-commit: true
branch: public-manifest
folder: _out/
Loading
Loading