Merge pull request #41 from WebOfTrust/split/pr34-06-w3c-edge-flow #91
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: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| smoke: | |
| name: Lint, build, and KERIA smoke tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| env: | |
| KERIPY_BRANCH: v1.2.13 | |
| KERIPY_REF: cbbf700fa8091587b96b5475c5f50d1d8bf3ca40 | |
| KERIA_BRANCH: main | |
| KERIA_REF: aba457cab3813078bfedb65a7d819f48d86974b8 | |
| PUPPETEER_CACHE_DIR: /home/runner/.cache/puppeteer | |
| VITE_OPERATION_TIMEOUT_MS: "45000" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libsodium-dev | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12.8" | |
| cache: pip | |
| cache-dependency-path: .github/ci/keria-runtime-requirements.txt | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.33.0 | |
| run_install: false | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: pnpm | |
| - name: Cache pinned KERI repositories | |
| uses: actions/cache@v4 | |
| with: | |
| path: .ci/deps | |
| key: keri-repos-${{ runner.os }}-${{ env.KERIPY_REF }}-${{ env.KERIA_REF }} | |
| - name: Cache Puppeteer browser | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/puppeteer | |
| key: puppeteer-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| restore-keys: | | |
| puppeteer-${{ runner.os }}- | |
| - name: Install Node dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Puppeteer browser | |
| run: pnpm exec puppeteer browsers install chrome | |
| - name: Install pinned KERIpy and KERIA | |
| run: scripts/ci/install-keri-stack.sh | |
| - name: Start KERIA and demo witnesses | |
| run: scripts/ci/start-keri-stack.sh | |
| - name: Run CI test suite | |
| run: pnpm test:ci | |
| - name: Upload KERIA stack logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: keria-stack-logs | |
| path: ${{ runner.temp }}/keri-stack/logs | |
| if-no-files-found: ignore | |
| - name: Stop KERIA stack | |
| if: always() | |
| run: scripts/ci/stop-keri-stack.sh |