name: Checks on: - push - pull_request jobs: lint: name: Lint tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.x' cache: pip - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r tools/lint/requirements.txt - name: Lint all tests if: github.event_name == 'push' run: ./tools/lint/lint.py test/ - name: Identify new or changed tests id: changed_tests if: github.event_name == 'pull_request' uses: tj-actions/changed-files@v45 with: files: test/ - name: Lint new or changed tests if: | github.event_name == 'pull_request' && steps.changed_tests.outputs.any_changed == 'true' env: CHANGED: ${{ steps.changed_tests.outputs.all_changed_files }} run: | echo New or modified test files: for file in $CHANGED; do echo $file done ./tools/lint/lint.py $CHANGED 2> >(tee errors.out >&2) - name: Create annotations in the PR if: failure() && github.event_name == 'pull_request' run: | awk -F': ' /dev/null ./make.py - name: Verify changes uses: tj-actions/verify-changed-files@v20 with: fail-if-changed: true fail-message: | New changes were found after re-generating the tests. Please read the documentation on procedurally generated tests https://github.com/tc39/test262/blob/HEAD/CONTRIBUTING.md#procedurally-generated-tests