Skip to content

Update python:3.14 Docker digest to f75eeae #1219

Update python:3.14 Docker digest to f75eeae

Update python:3.14 Docker digest to f75eeae #1219

Workflow file for this run

---
name: test
env:
GIT_REF: ${{ github.event.pull_request.head.sha || github.sha }}
RUN: docker compose run --rm --no-deps
"on":
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: false
ignore-empty-workdir: true
- name: Create Django project from template
run: |
uv run --with django django-admin startproject \
--template="https://github.com/lincolnloop/django-layout/zipball/$GIT_REF" \
--extension=py,md,gitignore,yaml,json,toml \
--name=Makefile,Dockerfile \
--exclude=.github \
project_name .
- name: Set up Docker Buildx
# yamllint disable-line rule:line-length
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Build and cache
uses: docker/bake-action@a66e1c87e2eca0503c343edf1d208c716d54b8a8 # v7.1.0
with:
load: true
set: |
*.cache-from=type=gha
*.cache-to=type=gha,mode=max
source: .
- name: Initialize project
run: make init
- name: Start dependencies
run: docker compose up db -d
# pytest-cov doesn't support parallel mode, so manually set the coverage
# filename with a random suffix so it can be combined with other runs.
- name: Run tests
run: >-
${RUN} -e COVERAGE_FILE=.coverage.$RANDOM app
pytest --cov --cov-report= --junitxml=junit.xml
- name: Check missing migrations
run: ${RUN} app coverage run -m manage makemigrations --check
- name: Start dev server
run: docker compose up -d
timeout-minutes: 5
- name: Show running Docker containers
run: docker ps
- name: Test dev server
run: curl -I --retry 10 --retry-all-errors --fail localhost:8000/
- name: Generate coverage report
run: ${RUN} app bash -c "coverage combine && coverage xml"
- name: Upload coverage reports to Codecov
# Publish coverage on success, fail, but not cancel.
if: success() || failure()
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: ${{ github.repository }}
- name: Upload test results to Codecov
# Upload JUnit test reports for test analytics
if: success() || failure()
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: ${{ github.repository }}
report_type: test_results
- name: Dump Docker logs
run: |
set -x
docker compose ps
docker compose logs
if: always()