name: build-image on: push: branches: [main] workflow_dispatch: permissions: contents: read packages: write jobs: test: runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install (editable, with dev extras) run: pip install --quiet -e ".[dev]" - name: Test + coverage gate run: pytest build: needs: test runs-on: ubuntu-latest timeout-minutes: 20 env: IMAGE: git.farh.net/farhoodlabs/intervalsicu-mcp-ui DOCKER_BUILDKIT: "1" steps: - uses: actions/checkout@v4 - name: Login to registry run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.farh.net -u cpfarhood --password-stdin - name: Build image run: docker build --progress=plain -t "${IMAGE}:latest" -t "${IMAGE}:${GITHUB_SHA}" . - name: Push image run: | docker push "${IMAGE}:latest" docker push "${IMAGE}:${GITHUB_SHA}"