Skip to content

feat(eslint): ESLint now makes a best effort to sort the extends array #6192

feat(eslint): ESLint now makes a best effort to sort the extends array

feat(eslint): ESLint now makes a best effort to sort the extends array #6192

Workflow file for this run

# ~~ Generated by projen. To modify, edit .projenrc.ts and run "node ./projen.js".
name: build
on:
pull_request: {}
workflow_dispatch: {}
jobs:
self-mutation:
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
if: always() && needs.build.outputs.self_mutation_happened && !(github.event.pull_request.head.repo.full_name != github.repository)
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Download patch
uses: actions/download-artifact@v4
with:
name: .repo.patch
path: ${{ runner.temp }}
- name: Apply patch
run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
- name: Set git identity
run: |-
git config user.name "github-actions"
git config user.email "[email protected]"
- name: Push changes
env:
PULL_REQUEST_REF: ${{ github.event.pull_request.head.ref }}
run: |-
git add .
git commit -s -m "chore: self mutation"
git push origin HEAD:$PULL_REQUEST_REF
package-js:
needs: build
runs-on: ubuntu-latest
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Prepare Repository
run: mv dist .repo
- name: Install Dependencies
run: cd .repo && yarn install --check-files --frozen-lockfile
- name: Create js artifact
run: cd .repo && npx projen package:js
- name: Collect js Artifact
run: mv .repo/dist dist
package-java:
needs: build
runs-on: ubuntu-latest
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11.x
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Prepare Repository
run: mv dist .repo
- name: Install Dependencies
run: cd .repo && yarn install --check-files --frozen-lockfile
- name: Create java artifact
run: cd .repo && npx projen package:java
- name: Collect java Artifact
run: mv .repo/dist dist
package-python:
needs: build
runs-on: ubuntu-latest
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Prepare Repository
run: mv dist .repo
- name: Install Dependencies
run: cd .repo && yarn install --check-files --frozen-lockfile
- name: Create python artifact
run: cd .repo && npx projen package:python
- name: Collect python Artifact
run: mv .repo/dist dist
package-go:
needs: build
runs-on: ubuntu-latest
permissions: {}
if: "! needs.build.outputs.self_mutation_happened"
steps:
- uses: actions/setup-node@v4
with:
node-version: 18.18.0
- uses: actions/setup-go@v5
with:
go-version: ^1.16.0
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Prepare Repository
run: mv dist .repo
- name: Install Dependencies
run: cd .repo && yarn install --check-files --frozen-lockfile
- name: Create go artifact
run: cd .repo && npx projen package:go
- name: Collect go Artifact
run: mv .repo/dist dist
post-build-integ:
needs: build
runs-on: ubuntu-latest
permissions:
contents: read
if: "! needs.build.outputs.self_mutation_happened"
steps:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- uses: actions/setup-go@v5
with:
go-version: 1.16.x
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: dist
- name: Restore build artifact permissions
run: cd dist && setfacl --restore=permissions-backup.acl
continue-on-error: true
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install dependencies
run: yarn install --check-files --frozen-lockfile
- run: node ./projen.js integ
build_matrix:
runs-on: ${{ matrix.runner.os }}
permissions:
contents: write
outputs:
self_mutation_happened: ${{ steps.self_mutation.outputs.self_mutation_happened }}
env:
CI: "true"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 18.18.0
- name: Install dependencies
run: yarn install --check-files
- name: build
run: node ./projen.js build
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
directory: coverage
if: ${{ !matrix.runner.experimental }}
- name: Find mutations
id: self_mutation
run: |-
git add .
git diff --staged --patch --exit-code > .repo.patch || echo "self_mutation_happened=true" >> $GITHUB_OUTPUT
working-directory: ./
- name: Upload patch
if: ${{ steps.self_mutation.outputs.self_mutation_happened && !matrix.runner.experimental }}
uses: actions/upload-artifact@v4
with:
name: .repo.patch
path: .repo.patch
overwrite: true
- name: Fail build on mutation
if: steps.self_mutation.outputs.self_mutation_happened
run: |-
echo "::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch."
cat .repo.patch
exit 1
- name: Backup artifact permissions
run: cd dist && getfacl -R . > permissions-backup.acl
continue-on-error: true
if: ${{ !matrix.runner.experimental }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-artifact
path: dist
overwrite: true
if: ${{ !matrix.runner.experimental }}
strategy:
matrix:
runner:
- os: ubuntu-latest
experimental: false
- os: windows-latest
experimental: true
continue-on-error: ${{ matrix.runner.experimental }}
build:
runs-on: ubuntu-latest
needs:
- build_matrix
if: always()
outputs:
self_mutation_happened: ${{ needs.build_matrix.outputs.self_mutation_happened }}
steps:
- name: Build result
run: echo ${{needs.build_matrix.result}}
- if: ${{ needs.build_matrix.result != 'success' }}
name: Set status based on matrix build
run: exit 1