Merge pull request #199 from Hexstar-labs/feat/90-92-93-94-testing #35
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] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| contract: | |
| name: Rust / Soroban contract | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust + wasm32 target | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| contracts/target | |
| key: cargo-${{ hashFiles('contracts/Cargo.lock') }} | |
| - name: Build WASM | |
| working-directory: contracts | |
| run: make build | |
| - name: Run contract tests | |
| working-directory: contracts | |
| run: make test | |
| backend: | |
| name: Node.js backend | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| cache: npm | |
| cache-dependency-path: backend/package-lock.json | |
| - name: Install dependencies | |
| working-directory: backend | |
| run: npm ci | |
| - name: Run tests | |
| working-directory: backend | |
| run: npm test | |
| python: | |
| name: Python analytics service | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| cache: pip | |
| cache-dependency-path: python-service/requirements.txt | |
| - name: Install dependencies | |
| working-directory: python-service | |
| run: pip install -r requirements.txt | |
| - name: Run tests | |
| working-directory: python-service | |
| run: pytest | |
| docker: | |
| name: Docker build validation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Build backend image | |
| run: docker build ./backend -t vaccichain-backend:ci | |
| - name: Build frontend image | |
| run: docker build ./frontend -t vaccichain-frontend:ci | |
| - name: Build python-service image | |
| run: docker build ./python-service -t vaccichain-python:ci |