chore(deps): bump the all group across 1 directory with 8 updates (#8) #32
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: | |
| permissions: | |
| contents: read | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| - run: python -m pip install -e ".[dev]" | |
| - run: python -m ruff check . | |
| - run: python -m mypy | |
| - name: Contract compatibility (pinned cas-contracts v0.1) | |
| # Consumer-side gate: fails red if the pinned CAS contract version or the | |
| # vendored v0.1 schema release drifts from what the Pydantic models emit. | |
| run: python -m pytest tests/test_contract_registry.py -q --tb=short -o addopts="" | |
| - run: python -m pytest | |
| - run: python -m cas_reference_product.evidence | |
| docker: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| permissions: | |
| contents: read | |
| packages: write | |
| needs: validate | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0 | |
| - name: Build image | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| with: | |
| context: . | |
| platforms: linux/amd64 | |
| push: false | |
| load: true | |
| tags: cas-reference-product:ci | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| - name: Health-check smoke test | |
| run: | | |
| docker run -d --name cas-ci -p 8080:8080 \ | |
| -e ENVIRONMENT=local -e WORKFLOW_BACKEND=local \ | |
| cas-reference-product:ci | |
| # Wait up to 30s for the app to become ready | |
| for i in $(seq 1 15); do | |
| if curl -sf http://localhost:8080/health/ready; then | |
| echo "App is ready"; break | |
| fi | |
| sleep 2 | |
| done | |
| curl -sf http://localhost:8080/health/live | |
| curl -sf http://localhost:8080/health/ready | |
| docker stop cas-ci | |
| - name: Log in to GHCR | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Push to GHCR | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| with: | |
| context: . | |
| platforms: linux/amd64 | |
| push: true | |
| tags: | | |
| ghcr.io/coding-autopilot-system/cas-reference-product:latest | |
| ghcr.io/coding-autopilot-system/cas-reference-product:${{ github.sha }} | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max |