name: ci on: push: branches: [main] jobs: build-test-push: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install uv uses: astral-sh/setup-uv@v4 - name: Sync dependencies run: uv sync --frozen - name: Run tests run: uv run pytest - name: Log in to registry env: DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }} DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin - name: Build and push image env: IMAGE: git.danhenry.dev/thelab/work-queue-api run: | SHORT_SHA=$(git rev-parse --short HEAD) docker build -t ${IMAGE}:latest -t ${IMAGE}:${SHORT_SHA} . docker push ${IMAGE}:latest docker push ${IMAGE}:${SHORT_SHA}