Skip to content

πŸ›  [fix] Drop unnecessary env required tags #272

πŸ›  [fix] Drop unnecessary env required tags

πŸ›  [fix] Drop unnecessary env required tags #272

Workflow file for this run

name: "🏭 CI Pipeline"
on:
push:
branches:
- "develop"
paths:
- ".github/**"
- "backend/kayman/**"
- "backend/pyproject.toml"
- "backend/uv.lock"
- "frontend/**"
pull_request:
workflow_dispatch:
jobs:
backend-test:
name: "πŸ§ͺ Backend Testing"
runs-on: ubuntu-latest
defaults:
run:
working-directory: "backend"
steps:
- name: "πŸ›’ Checkout"
uses: actions/checkout@v5
- name: "🐍 Install uv"
uses: astral-sh/setup-uv@v7
- name: "🐍 Set up Python"
uses: actions/setup-python@v6
with:
python-version-file: "backend/pyproject.toml"
- name: "πŸ§ͺ Testing"
run: |
scripts/test/backend.sh
- name: "πŸ“„ Report coverage"
uses: codecov/codecov-action@v7
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
backend-lint:
name: "πŸ” Backend Linting"
runs-on: ubuntu-latest
defaults:
run:
working-directory: "backend"
steps:
- name: "πŸ›’ Checkout"
uses: actions/checkout@v5
- name: "🐍 Install uv"
uses: astral-sh/setup-uv@v7
- name: "🐍 Set up Python"
uses: actions/setup-python@v6
with:
python-version-file: "backend/pyproject.toml"
- name: "πŸ” Linting"
run: |
scripts/lint/backend.sh
build-openapi-schema:
name: "πŸ“„ Build OpenAPI Schema"
runs-on: ubuntu-latest
defaults:
run:
working-directory: "backend"
steps:
- name: "πŸ›’ Checkout"
uses: actions/checkout@v5
- name: "🐍 Install uv"
uses: astral-sh/setup-uv@v7
- name: "🐍 Set up Python"
uses: actions/setup-python@v6
with:
python-version-file: "backend/pyproject.toml"
- name: "πŸ“„ Generate OpenAPI Schema"
run: |
scripts/build/openapi-spec.sh openapi.json
- name: "⬆️ Upload artifact"
uses: actions/upload-artifact@v5
with:
name: openapi-schema
path: backend/openapi.json
frontend-lint:
name: "πŸ” Frontend Linting"
runs-on: ubuntu-latest
defaults:
run:
working-directory: "frontend"
needs: [build-openapi-schema]
steps:
- name: "πŸ›’ Checkout"
uses: actions/checkout@v5
- name: "⬇️ Download artifact"
uses: actions/download-artifact@v6
with:
name: openapi-schema
path: /tmp
- name: "βš™οΈ Setup pnpm"
uses: pnpm/action-setup@v4
with:
package_json_file: "frontend/package.json"
run_install: false
- name: "βš™οΈ Setup Node.js"
uses: actions/setup-node@v6
with:
node-version-file: "frontend/package.json"
cache: "pnpm"
cache-dependency-path: "frontend/pnpm-lock.yaml"
- name: "🐭 Setup mise"
uses: jdx/mise-action@v4
- name: "πŸ“¦ Install dependencies"
run: pnpm install --frozen-lockfile
- name: "πŸ” Linting"
run: pnpm lint
license:
name: "πŸͺͺ License Scan"
runs-on: ubuntu-latest
steps:
- name: "πŸ›’ Checkout"
uses: actions/checkout@v5
# FOSSA's API Key are meant to be exposed as to doc
- name: "πŸͺͺ License Scan"
uses: fossas/fossa-action@main
with:
api-key: 2d7865a44aa575d857521faaee1a57f8
build-image:
name: "🐳 Build Docker Image"
runs-on: ubuntu-latest
needs: [backend-test, backend-lint, frontend-lint, license]
if: success() && github.ref == 'refs/heads/develop'
steps:
- name: "πŸ›’ Checkout"
uses: actions/checkout@v5
- name: "βš™οΈ Setup Docker Meta"
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ github.repository }}
ghcr.io/${{ github.repository }}
tags: |
type=edge
labels: |
org.opencontainers.image.title=kayman
org.opencontainers.image.documentation=${{ github.repository }}/wiki
org.opencontainers.image.authors=tomy0000000
- name: "πŸ— Build and Push Image"
uses: tomy0000000/actions/build-push-image@main
with:
docker_password: ${{ secrets.DOCKER_PASSWORD }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}