refactor: use released scaffold dependencies #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main, dev, release/*, feature/*] | |
| pull_request: | |
| branches: [main, dev, release/*] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| quality: | |
| name: Quality And Scaffold Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install pre-commit | |
| shell: bash | |
| run: python -m pip install --upgrade pip pre-commit | |
| - name: Run pre-commit | |
| run: make pre-commit | |
| - name: Build CLI | |
| run: make build | |
| - name: Run scaffold contract tests | |
| run: make test-scaffold | |
| - name: Upload scaffold artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: quality-test-artifacts | |
| path: target/test-artifacts | |
| if-no-files-found: ignore | |
| runtime: | |
| name: Runtime Pipelines | |
| runs-on: ubuntu-latest | |
| needs: [quality] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run runtime pipeline tests | |
| run: make test-runtime | |
| - name: Upload runtime artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: runtime-test-artifacts | |
| path: target/test-artifacts | |
| if-no-files-found: ignore | |
| e2e: | |
| name: Browser Pipelines | |
| runs-on: ubuntu-latest | |
| needs: [quality] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| cache-dependency-path: package-lock.json | |
| - name: Install Node dependencies | |
| run: npm ci | |
| - name: Install Playwright Chromium | |
| run: make install-e2e | |
| - name: Run Playwright browser tests | |
| run: make test-e2e | |
| - name: Upload browser artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: e2e-test-artifacts | |
| path: target/test-artifacts | |
| if-no-files-found: ignore |