Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ runs:
using: 'composite'
steps:
- name: 'Install Node.js'
uses: actions/setup-node@v4
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version-file: .nvmrc
registry-url: 'https://registry.npmjs.org'
- name: 'Install pnpm'
id: pnpm-install
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
run_install: false
- name: 'Get pnpm store directory'
Expand All @@ -20,7 +20,7 @@ runs:
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: 'Setup pnpm cache'
uses: actions/cache@v4
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4
with:
path: ${{ env.STORE_PATH }}
# To evict the cache, bump the key prefix from v1 to v2
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/setup-python/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ runs:
using: 'composite'
steps:
- name: 'Install Python'
uses: actions/setup-python@v4
uses: actions/setup-python@7f4fc3e22c37d6ff65e88745f38bd3157c663f7c # v4
with:
python-version: '3.10'
- name: 'Install PIP'
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/benchmarks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,19 @@ env:
SCCACHE_GHA_ENABLED: 'true'
RUSTC_WRAPPER: 'sccache'

permissions:
contents: read

jobs:
bench-station:
name: 'bench-station:required'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Run Station Benchmarks'
run: ./scripts/benchmark-canister.sh ./core/station/impl
9 changes: 7 additions & 2 deletions .github/workflows/builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ on:
- '**/build**'
- main

permissions:
contents: read

jobs:
deterministic-build:
name: 'deterministic-build:optional'
Expand All @@ -36,9 +39,11 @@ jobs:
artifact: wallet-dapp.tar.gz
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Set up Docker'
uses: docker/setup-docker-action@v4
uses: docker/setup-docker-action@e43656e248c0bd0647d3f5c195d116aacf6fcaf4 # v4
timeout-minutes: 12
- name: 'Deterministic build'
run: |
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ on:
paths:
- '.release.json'

# `orbit-cli release publish` pushes the release tags and creates the GitHub
# releases, which needs contents: write and nothing else.
permissions:
contents: write

jobs:
release_projects:
name: 'release'
Expand All @@ -20,10 +25,13 @@ jobs:
- /var/run/docker.sock:/var/run/docker.sock:ro
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
fetch-depth: 0
fetch-tags: true
# Kept (the default): `git push origin --tags` authenticates with the
# token checkout leaves in .git/config.
persist-credentials: true
# Helps with debugging
- name: Show versions
run: |
Expand Down
73 changes: 47 additions & 26 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,30 @@ env:
SCCACHE_GHA_ENABLED: 'true'
RUSTC_WRAPPER: 'sccache'

permissions:
contents: read

jobs:
test-rust:
name: 'test-rust:required'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Test cargo crates'
run: cargo test --locked --workspace --exclude integration-tests
test-node:
name: 'test-node:required'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Install Dependencies'
Expand All @@ -68,17 +75,19 @@ jobs:
canister: station
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Build Package'
run: ./scripts/generate-wasm.sh ${{ matrix.crate }}
- name: 'Prepare artifacts'
run: |
mkdir -p artifacts
mv tests/integration/wasms/* artifacts
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: integration-tests-${{ matrix.canister }}
path: artifacts/${{ matrix.canister }}.wasm.gz
Expand All @@ -100,15 +109,17 @@ jobs:
name: 'ic-icrc1-ledger'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Download Canister'
run: ./scripts/download-nns-canister-wasm.sh ${{ matrix.canister }} ${{ matrix.name }}
- name: 'Prepare artifacts'
run: |
mkdir -p artifacts
mv tests/integration/wasms/* artifacts
- name: 'Upload Artifacts'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: integration-tests-${{ matrix.canister }}
path: artifacts/${{ matrix.canister }}.wasm.gz
Expand All @@ -119,7 +130,7 @@ jobs:
needs: [build-wasms, download-canisters]
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
uses: actions/upload-artifact/merge@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: integration-tests
pattern: integration-tests-*
Expand All @@ -132,11 +143,13 @@ jobs:
DOWNLOAD_NNS_CANISTERS: 'false'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Download Artifacts'
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: integration-tests
path: tests/integration/wasms
Expand All @@ -154,16 +167,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Download Artifacts'
uses: actions/download-artifact@v4
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: integration-tests
path: wasms
- name: 'Install dfx'
uses: dfinity/setup-dfx@main
uses: dfinity/setup-dfx@e50c04f104ee4285ec010f10609483cf41e4d365 # main (no tags/releases published)
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Install Dependencies'
Expand All @@ -177,7 +192,7 @@ jobs:
pnpm run test:e2e
- name: 'Upload e2e test results'
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: e2e-test-results
path: |
Expand All @@ -190,13 +205,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Run sccache-cache'
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Install dfx'
uses: dfinity/setup-dfx@main
uses: dfinity/setup-dfx@e50c04f104ee4285ec010f10609483cf41e4d365 # main (no tags/releases published)
- name: 'Start PocketIC'
run: dfx start --clean --system-canisters --host 127.0.0.1:4943 --background
- name: 'Perform local deployment'
Expand All @@ -209,13 +226,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Run sccache-cache'
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Install dfx'
uses: dfinity/setup-dfx@main
uses: dfinity/setup-dfx@e50c04f104ee4285ec010f10609483cf41e4d365 # main (no tags/releases published)
- name: 'Start local replica'
run: dfx start --clean --system-canisters --host 127.0.0.1:4943 --background
- name: 'Perform local deployment'
Expand All @@ -234,16 +253,18 @@ jobs:
- /var/run/docker.sock:/var/run/docker.sock:ro
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Setup Docker'
run: |
docker info # Check if Docker is running
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Run sccache-cache'
uses: mozilla-actions/sccache-action@v0.0.8
uses: mozilla-actions/sccache-action@65101d47ea8028ed0c98a1cdea8dd9182e9b5133 # v0.0.8
- name: 'Install dfx'
uses: dfinity/setup-dfx@main
uses: dfinity/setup-dfx@e50c04f104ee4285ec010f10609483cf41e4d365 # main (no tags/releases published)
- name: 'Start local replica'
run: dfx start --clean --system-canisters --host 127.0.0.1:4943 --background
- name: 'Test prod deployment script'
Expand Down
20 changes: 15 additions & 5 deletions .github/workflows/validation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ env:
# Use the local .curlrc
CURL_HOME: .

permissions:
contents: read

jobs:
validate-commits:
name: 'validate-commits:required'
Expand All @@ -31,9 +34,10 @@ jobs:
TITLE: ${{ github.event.pull_request.title }}
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
fetch-depth: 0
persist-credentials: false
# Conditional steps for commit message check
- if: ${{ github.event_name != 'pull_request' }}
name: 'Setup Python'
Expand Down Expand Up @@ -64,9 +68,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Install dfx'
uses: dfinity/setup-dfx@main
uses: dfinity/setup-dfx@e50c04f104ee4285ec010f10609483cf41e4d365 # main (no tags/releases published)
- name: 'Run dfx generate'
run: |
dfx generate control_panel
Expand All @@ -78,7 +84,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Check code'
run: |
cargo fmt --all -- --check
Expand All @@ -91,7 +99,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Install Dependencies'
Expand Down
Loading