fe616f78f6
* ci(deps): bump actions/setup-node from 4 to 6 Dependabot couldn't find the original pull request head commit, 8af5b3cc1d307d4efd5752d0dcd43d24301d64be. * ci(deps): bump actions/download-artifact from 4 to 7 Dependabot couldn't find the original pull request head commit, 98a1ea1d75fdeae387d752c54b348da2039e92d2. * ci(deps): bump actions/cache from 4 to 5 Dependabot couldn't find the original pull request head commit, 275f68f405afd62d0da941c3bab7f4b325028a32. * ci(deps): bump actions/github-script from 7 to 8 Dependabot couldn't find the original pull request head commit, 9a58bb35f88eb53f94d347c8d6bcbf3fae875925. * ci(deps): bump actions/setup-python from 5 to 6 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump @types/uuid from 10.0.0 to 11.0.0 in /apps/frontend Bumps [@types/uuid](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/uuid) from 10.0.0 to 11.0.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/uuid) --- updated-dependencies: - dependency-name: "@types/uuid" dependency-version: 11.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump dotenv from 16.6.1 to 17.2.3 in /apps/frontend Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.6.1 to 17.2.3. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.6.1...v17.2.3) --- updated-dependencies: - dependency-name: dotenv dependency-version: 17.2.3 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump electron from 39.2.7 to 40.0.0 in /apps/frontend Bumps [electron](https://github.com/electron/electron) from 39.2.7 to 40.0.0. - [Release notes](https://github.com/electron/electron/releases) - [Commits](https://github.com/electron/electron/compare/v39.2.7...v40.0.0) --- updated-dependencies: - dependency-name: electron dependency-version: 40.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump @types/minimatch from 5.1.2 to 6.0.0 in /apps/frontend Bumps [@types/minimatch](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimatch) from 5.1.2 to 6.0.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimatch) --- updated-dependencies: - dependency-name: "@types/minimatch" dependency-version: 6.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> * chore: regenerate package-lock.json for updated dependencies Sync lockfile with updated package versions: - @types/minimatch 5.1.2 → 6.0.0 - @types/uuid 10.0.0 → 11.0.0 - dotenv 16.6.1 → 17.2.3 - electron 39.2.7 → 40.0.0 Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix: update Electron version in prebuilds workflow and suppress dotenv v17 logs - Update build-prebuilds.yml ELECTRON_VERSION from 39.2.6 to 40.0.0 to match the Electron version in package.json - Add quiet: true to dotenv config to suppress redundant v17 runtime log messages Co-Authored-By: Claude Opus 4.5 <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.5 <[email protected]>
90 lines
2.5 KiB
YAML
90 lines
2.5 KiB
YAML
name: Lint
|
|
|
|
on:
|
|
push:
|
|
branches: [main, develop]
|
|
paths:
|
|
- 'apps/**'
|
|
- 'tests/**'
|
|
- '.github/workflows/lint.yml'
|
|
- '.github/actions/**'
|
|
- 'apps/frontend/biome.jsonc'
|
|
- '.pre-commit-config.yaml'
|
|
pull_request:
|
|
branches: [main, develop]
|
|
paths:
|
|
- 'apps/**'
|
|
- 'tests/**'
|
|
- '.github/workflows/lint.yml'
|
|
- '.github/actions/**'
|
|
- 'apps/frontend/biome.jsonc'
|
|
- '.pre-commit-config.yaml'
|
|
|
|
concurrency:
|
|
group: lint-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# Python linting (Ruff) - already fast, no changes needed
|
|
python:
|
|
name: Python (Ruff)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
# Pin ruff version to match .pre-commit-config.yaml
|
|
- name: Install ruff
|
|
run: pip install ruff==0.14.10
|
|
|
|
- name: Run ruff check
|
|
run: ruff check apps/backend/ --output-format=github
|
|
|
|
- name: Run ruff format check
|
|
run: ruff format apps/backend/ --check --diff
|
|
|
|
# TypeScript/JavaScript linting (Biome) - 15-25x faster than ESLint
|
|
typescript:
|
|
name: TypeScript (Biome)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
# Pin version to match package.json for consistent behavior
|
|
- name: Setup Biome
|
|
uses: biomejs/setup-biome@v2
|
|
with:
|
|
version: 2.3.11
|
|
|
|
- name: Run Biome
|
|
working-directory: apps/frontend
|
|
# biome ci fails on errors by default; warnings are reported but don't block
|
|
# Use --error-on-warnings when ready to enforce all rules
|
|
run: biome ci .
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Gate Job - Single check for branch protection
|
|
# --------------------------------------------------------------------------
|
|
lint-complete:
|
|
name: Lint Complete
|
|
runs-on: ubuntu-latest
|
|
needs: [python, typescript]
|
|
if: always()
|
|
steps:
|
|
- name: Check lint results
|
|
run: |
|
|
if [[ "${{ needs.python.result }}" != "success" ]] || \
|
|
[[ "${{ needs.typescript.result }}" != "success" ]]; then
|
|
echo "❌ Linting failed"
|
|
echo " Python: ${{ needs.python.result }}"
|
|
echo " TypeScript: ${{ needs.typescript.result }}"
|
|
exit 1
|
|
fi
|
|
echo "✅ All linting passed"
|