cloud-api/.forgejo/workflows/publish.yaml

86 lines
2.3 KiB
YAML
Raw Normal View History

---
name: ci
on:
push:
branches:
- main
jobs:
2026-06-20 18:42:15 +01:00
ruff:
runs-on: docker
continue-on-error: true
container:
image: ghcr.io/astral-sh/uv:alpine
steps:
2026-06-08 14:45:54 +01:00
- run: apk add --no-cache nodejs npm git
2026-06-08 14:18:40 +01:00
- uses: actions/checkout@v4
2026-06-08 14:21:11 +01:00
with:
submodules: true
- run: uv python install # Gets Python version from pyproject.toml
2026-06-20 18:42:15 +01:00
- run: uv sync --dev
2026-06-08 14:47:33 +01:00
- run: uv run ruff check
- run: uv run ruff format
2026-06-20 18:42:15 +01:00
ty:
runs-on: docker
continue-on-error: true
container:
image: ghcr.io/astral-sh/uv:alpine
steps:
- run: apk add --no-cache nodejs npm git
- uses: actions/checkout@v4
with:
submodules: true
- run: uv python install # Gets Python version from pyproject.toml
- run: uv sync --dev
- run: uv run ty check
env:
ENVIRONMENT: testing
tests:
runs-on: docker
continue-on-error: true
container:
image: ghcr.io/astral-sh/uv:alpine
steps:
- run: apk add --no-cache nodejs npm git
- uses: actions/checkout@v4
with:
submodules: true
- run: uv python install # Gets Python version from pyproject.toml
- run: uv sync --dev
- run: uv run pytest test
env:
ENVIRONMENT: testing
2026-06-22 14:38:11 +01:00
build:
needs: [ ruff, ty, tests ]
if: ${{ always() && needs.ruff.result == 'success' && needs.ty.result == 'success' && needs.tests.result == 'success' }}
2026-06-22 15:18:13 +01:00
runs-on: docker
2026-06-22 14:38:11 +01:00
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
options: -v /dind/docker.sock:/var/run/docker.sock
steps:
- name: Checkout the repo
uses: actions/checkout@v4
2026-06-22 15:20:14 +01:00
- name: Checkout the frontend
uses: actions/checkout@v4
with:
2026-06-22 15:22:42 +01:00
repository: sr2/cloud-portal.git
2026-06-22 15:20:14 +01:00
path: frontend
2026-06-22 15:24:33 +01:00
ref: main
2026-06-22 14:38:11 +01:00
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to the registry
uses: docker/login-action@v3
with:
registry: guardianproject.dev
username: irl
password: ${{ secrets.PACKAGE_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
file: Containerfile
push: true
2026-06-22 15:26:39 +01:00
tags: guardianproject.dev/${{ github.repository }}:${{ github.ref_name }}