diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 11a24692a4..a222c62e10 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -18,54 +18,89 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Check changed files + id: changed-files + uses: tj-actions/changed-files@v44 + with: + files: api/** + - 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: pip install ruff dotenv-linter - name: Ruff check + if: steps.changed-files.outputs.any_changed == 'true' run: ruff check ./api - name: Dotenv check + if: steps.changed-files.outputs.any_changed == 'true' run: dotenv-linter ./api/.env.example ./web/.env.example - name: Lint hints if: failure() run: echo "Please run 'dev/reformat' to fix the fixable linting errors." - test: - name: ESLint and SuperLinter + web-style: + name: Web Style runs-on: ubuntu-latest - needs: python-style + 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@v44 with: - fetch-depth: 0 + 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 - run: | - cd ./web - yarn install --frozen-lockfile + if: steps.changed-files.outputs.any_changed == 'true' + run: yarn install --frozen-lockfile - name: Web style check - run: | - cd ./web - yarn run lint + 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@v44 + with: + files: | + **.sh + **.yaml + **.yml + Dockerfile - name: Super-linter uses: super-linter/super-linter/slim@v6 + if: steps.changed-files.outputs.any_changed == 'true' env: BASH_SEVERITY: warning DEFAULT_BRANCH: main