Skip to content

feat(station): monitor external canisters #2616

feat(station): monitor external canisters

feat(station): monitor external canisters #2616

Workflow file for this run

name: 'Code validation'
on:
pull_request:
types:
- opened
- edited
- reopened
- synchronize
- labeled
merge_group:
types: [checks_requested]
branches:
- main
push:
branches:
- main
env:
CARGO_TERM_COLOR: always
# When getting Rust dependencies, retry on network error:
CARGO_NET_RETRY: 10
# Use the local .curlrc
CURL_HOME: .
jobs:
validate-commits:
name: 'validate-commits:required'
runs-on: ubuntu-latest
env:
TITLE: ${{ github.event.pull_request.title }}
steps:
- name: 'Checkout'
uses: actions/checkout@v4
with:
fetch-depth: 0
# Conditional steps for commit message check
- if: ${{ github.event_name != 'pull_request' }}
name: 'Setup Python'
uses: ./.github/actions/setup-python
- if: ${{ github.event_name != 'pull_request' }}
name: 'Install Commitzen'
run: pip install -U commitizen
- if: ${{ github.event_name != 'pull_request' }}
name: 'Check Commit Messages'
run: cz check --rev-range HEAD
# Conditional step for pull request title check
- if: ${{ github.event_name == 'pull_request' }}
name: 'Check PR Title'
run: |
if [[ "$TITLE" =~ ^(feat|fix|chore|build|ci|docs|style|refactor|perf|test)(\([-a-zA-Z0-9,]+\))\!?\: ]]; then
echo "PR Title passes"
else
echo "PR Title does not match conventions:"
echo " verb(scope): description"
echo "or for a breaking change:"
echo " verb(scope)!: description"
echo "For scope, please use the affected rust crate name(s) or 'ci' for infrastructure changes."
exit 1
fi
# TODO(SDK-1297): dfx generate fails with remote canisters
validate-did-bindings:
name: 'validate-did-bindings:required'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Install dfx'
uses: dfinity/setup-dfx@main
- name: 'Run dfx generate'
run: |
dfx generate control_panel
dfx generate station
- name: 'Check that no file changed'
run: git diff --exit-code
validate-rust:
name: 'validate-rust:required'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Check code'
run: |
cargo fmt --all -- --check
cargo clippy --locked --verbose --tests --benches --workspace -- -D clippy::all
cargo clippy --locked --verbose --target wasm32-unknown-unknown -p control-panel -p station -p upgrader -- -D clippy::all
env:
RUST_BACKTRACE: 1
validate-node:
name: 'validate-node:required'
runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Setup Node'
uses: ./.github/actions/setup-node
- name: 'Install Dependencies'
run: |
pnpm install --frozen-lockfile
- name: 'Check code'
run: |
pnpm lint
- name: 'Build code'
run: |
pnpm build
- name: 'Check typing'
run: |
pnpm type-check