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 - uses: actions/setup-node@v4 with: node-version: '^20' - run: npm ci - run: npm run type-check - run: npm run lint docker: runs-on: ubuntu-latest container: docker needs: [python, node] steps: - run: apk add git nodejs - 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 }}