35 lines
1.0 KiB
YAML
35 lines
1.0 KiB
YAML
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}
|