Files
HospitalAssistantBackend/.gitea/workflows/latest.yaml
Miwory 9a344e9632
All checks were successful
Build And Push / publish (push) Successful in 7m28s
lowercase fix
2025-09-24 04:31:25 +03:00

76 lines
2.1 KiB
YAML

name: Build And Push
run-name: ${{ github.actor }} builds and pushes production-ready image
on:
push:
branches:
- latest
jobs:
publish:
runs-on: ubuntu-latest
env:
RUNNER_TOOL_CACHE: /${{ github.workspace }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: git.miwory.dev
username: ${{ secrets.CI_USERNAME }}
password: ${{ secrets.CI_TOKEN }}
- name: Cache uv binary
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/uv
key: uv-${{ runner.os }}
restore-keys: uv-${{ runner.os }}
- name: Cache uv dependencies
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/.cache/uv
key: uv-${{ runner.os }}
restore-keys: uv-${{ runner.os }}
- name: Cache pre-commit
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-cache-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: pre-commit-cache-${{ runner.os }}-
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.7.8"
enable-cache: true
cache-local-path: ${{ github.workspace }}/.cache/uv
tool-dir: ${{ github.workspace }}/.cache/uv
tool-bin-dir: ${{ github.workspace }}/.cache/uv
cache-dependency-glob: ""
- name: Set up Python
run: uv python install
- name: Install the project
run: uv sync --no-install-project --cache-dir ${{ github.workspace }}/.cache/uv
- name: Linter & Formatter
run: uv run pre-commit run --all-files
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
target: production
push: true
tags: "git.miwory.dev/smartsolutions/hospitalassistantbackend:latest"
cache-from: type=gha
cache-to: type=gha,mode=max