Merge pull request #4518 from learningequality/hotfixes #3910
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Javascript Linting | |
on: | |
push: | |
branches: | |
- unstable | |
- hotfixes | |
- master | |
pull_request: | |
jobs: | |
pre_job: | |
name: Path match check | |
runs-on: ubuntu-latest | |
# Map a step output to a job output | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@master | |
with: | |
github_token: ${{ github.token }} | |
paths: '["**.vue", "**.js", "yarn.lock", ".github/workflows/frontendlint.yml"]' | |
test: | |
name: Frontend linting | |
needs: pre_job | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16.x' | |
- name: Cache Node.js modules | |
uses: actions/cache@v3 | |
with: | |
path: '**/node_modules' | |
key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.OS }}-node- | |
- name: Install dependencies | |
run: | | |
yarn --frozen-lockfile | |
npm rebuild node-sass | |
- name: Run tests | |
run: yarn run lint-frontend:format | |
- name: Check for modified files | |
if: github.event.pull_request && github.event.pull_request.head.repo.full_name == github.repository | |
id: git-check | |
run: echo ::set-output name=modified::$(git diff-index --name-only HEAD) | |
- uses: tibdex/github-app-token@v1 | |
if: github.event.pull_request && github.event.pull_request.head.repo.full_name == github.repository && steps.git-check.outputs.modified != '' | |
id: generate-token | |
with: | |
app_id: ${{ secrets.CODE_FIX_APP_ID }} | |
private_key: ${{ secrets.CODE_FIX_APP_PRIVATE_KEY }} | |
- name: Push changes | |
if: github.event.pull_request && github.event.pull_request.head.repo.full_name == github.repository && steps.git-check.outputs.modified != '' | |
run: | | |
git config --global user.name 'Learning Equality' | |
git config --global user.email 'dev@learningequality.org' | |
git remote set-url origin https://x-access-token:${{ steps.generate-token.outputs.token }}@github.com/${{ github.repository }} | |
git commit -am "Frontend linting of ${{ steps.git-check.outputs.modified }}" | |
git push |