| | name: Style check |
| |
|
| | on: |
| | pull_request: |
| | branches: |
| | - main |
| |
|
| | concurrency: |
| | group: style-${{ github.head_ref || github.run_id }} |
| | cancel-in-progress: true |
| |
|
| | jobs: |
| | python-style: |
| | name: Python Style |
| | runs-on: ubuntu-latest |
| |
|
| | steps: |
| | - name: Checkout code |
| | uses: actions/checkout@v4 |
| |
|
| | - name: Check changed files |
| | id: changed-files |
| | uses: tj-actions/changed-files@v45 |
| | with: |
| | files: api/** |
| |
|
| | - name: Install Poetry |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | uses: abatilo/actions-poetry@v3 |
| |
|
| | - name: Set up Python |
| | uses: actions/setup-python@v5 |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | with: |
| | python-version: '3.10' |
| |
|
| | - name: Python dependencies |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | run: poetry install -C api --only lint |
| |
|
| | - name: Ruff check |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | run: poetry run -C api ruff check ./api |
| |
|
| | - name: Dotenv check |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | run: poetry run -C api dotenv-linter ./api/.env.example ./web/.env.example |
| |
|
| | - name: Ruff formatter check |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | run: poetry run -C api ruff format --check ./api |
| |
|
| | - name: Lint hints |
| | if: failure() |
| | run: echo "Please run 'dev/reformat' to fix the fixable linting errors." |
| |
|
| | web-style: |
| | name: Web Style |
| | runs-on: ubuntu-latest |
| | defaults: |
| | run: |
| | working-directory: ./web |
| |
|
| | steps: |
| | - name: Checkout code |
| | uses: actions/checkout@v4 |
| |
|
| | - name: Check changed files |
| | id: changed-files |
| | uses: tj-actions/changed-files@v45 |
| | with: |
| | files: web/** |
| |
|
| | - name: Setup NodeJS |
| | uses: actions/setup-node@v4 |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | with: |
| | node-version: 20 |
| | cache: yarn |
| | cache-dependency-path: ./web/package.json |
| |
|
| | - name: Web dependencies |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | run: yarn install --frozen-lockfile |
| |
|
| | - name: Web style check |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | run: yarn run lint |
| |
|
| |
|
| | superlinter: |
| | name: SuperLinter |
| | runs-on: ubuntu-latest |
| |
|
| | steps: |
| | - name: Checkout code |
| | uses: actions/checkout@v4 |
| |
|
| | - name: Check changed files |
| | id: changed-files |
| | uses: tj-actions/changed-files@v45 |
| | with: |
| | files: | |
| | **.sh |
| | **.yaml |
| | **.yml |
| | **Dockerfile |
| | dev/** |
| | |
| | - name: Super-linter |
| | uses: super-linter/super-linter/slim@v7 |
| | if: steps.changed-files.outputs.any_changed == 'true' |
| | env: |
| | BASH_SEVERITY: warning |
| | DEFAULT_BRANCH: main |
| | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| | IGNORE_GENERATED_FILES: true |
| | IGNORE_GITIGNORED_FILES: true |
| | VALIDATE_BASH: true |
| | VALIDATE_BASH_EXEC: true |
| | |
| | |
| | VALIDATE_DOCKERFILE_HADOLINT: true |
| | VALIDATE_XML: true |
| | VALIDATE_YAML: true |
| |
|