Permalink
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/.github/workflows/pr-checks.yml
View runs Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
See #182. Workflows are now triggered on all PRs but only on push on the main and v1 branch
78 lines (69 sloc)
2.34 KB
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: "PR checks" | |
on: | |
push: | |
branches: [main, v1] | |
pull_request: | |
jobs: | |
lint-js: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Run Lint | |
run: npm run-script lint | |
check-js: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Check generated JavaScript | |
run: | | |
# Sanity check that repo is clean to start with | |
if [ ! -z "$(git status --porcelain)" ]; then | |
# If we get a fail here then this workflow needs attention... | |
>&2 echo "Failed: Repo should be clean before testing!" | |
exit 1 | |
fi | |
# Wipe the lib directory incase there are extra unnecessary files in there | |
rm -rf lib | |
# Generate the JavaScript files | |
npm run-script build | |
# Check that repo is still clean | |
if [ ! -z "$(git status --porcelain)" ]; then | |
# If we get a fail here then the PR needs attention | |
>&2 echo "Failed: JavaScript files are not up to date. Run 'npm run-script build' to update" | |
git status | |
exit 1 | |
fi | |
echo "Success: JavaScript files are up to date" | |
check-node-modules: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Check node modules up to date | |
run: | | |
# Sanity check that repo is clean to start with | |
if [ ! -z "$(git status --porcelain)" ]; then | |
# If we get a fail here then this workflow needs attention... | |
>&2 echo "Failed: Repo should be clean before testing!" | |
exit 1 | |
fi | |
# Reinstall modules and then clean to remove absolute paths | |
# Use 'npm ci' instead of 'npm install' as this is intended to be reproducible | |
npm ci | |
npm run removeNPMAbsolutePaths | |
# Check that repo is still clean | |
if [ ! -z "$(git status --porcelain)" ]; then | |
# If we get a fail here then the PR needs attention | |
>&2 echo "Failed: node_modules are not up to date. Run 'npm ci' and 'npm run removeNPMAbsolutePaths' to update" | |
git status | |
exit 1 | |
fi | |
echo "Success: node_modules are up to date" | |
npm-test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest,macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: npm run-script test | |
run: npm run-script test |