feat: 👷 add auto build and lint ci system
Some checks failed
pilotwings / python (push) Successful in 1m34s
pilotwings / node (push) Failing after 23s
pilotwings / docker (push) Has been skipped

This commit is contained in:
Michel Roux 2024-11-05 15:22:51 +01:00
parent cc382601af
commit 12a7ace84b
2 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,48 @@
name: pilotwings
on: [push]
jobs:
python:
runs-on: ubuntu-latest
container: python:3.13.0-slim
steps:
- run: apt-get update
- run: apt-get install -y git nodejs
- uses: actions/checkout@v4
- uses: Gr1N/setup-poetry@v9
- run: poetry install
- run: poetry run ruff check .
- run: poetry run mypy .
node:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run type-check
- run: npm run lint
docker:
runs-on: ubuntu-latest
container: docker
needs: [python, node]
steps:
- uses: actions/checkout@v4
- uses: docker/metadata-action@v5
id: meta
with:
images: xefir/pilotwings
tags: |
type=schedule
type=ref,event=tag
type=ref,event=pr
type=raw,value=latest,enable={{is_default_branch}}
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: docker/build-push-action@v6
with:
push: ${{ gitea.ref_name == gitea.event.repository.default_branch || gitea.ref_type == 'tag' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

19
Dockerfile Normal file
View File

@ -0,0 +1,19 @@
FROM node:20.18.0-slim as frontend
WORKDIR /app
COPY . .
RUN npm ci && npm run build
FROM python:3.13.0-slim as backend
WORKDIR /app
COPY . .
COPY --from=frontend /app/backend/dist /app/backend/dist
RUN pip install poetry && poetry build
FROM python:3.13.0-slim
COPY --from=backend /app/dist /tmp/dist
RUN pip install /tmp/dist/*.whl && rm -rf /tmp/dist
CMD [ pilotwings ]