add GitHub workflow for validate_static

Uses a GitHub-hosted runner in order to run validate_static for all pull
requests and pushes to master. See
https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions
for more details.
This commit is contained in:
inthewaves 2020-05-03 22:09:12 -07:00 committed by Daniel Micay
parent 4f41c03436
commit 9d68744f20

47
.github/workflows/validate-static.yml vendored Normal file
View File

@ -0,0 +1,47 @@
name: Validate static
on:
pull_request:
push:
branches: [master]
jobs:
validate-static:
runs-on: ubuntu-latest
env:
VALIDATOR_VERSION: 20.3.16
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- name: Cache node modules
uses: actions/cache@v1
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
- name: Cache validator
id: validator-cache
uses: actions/cache@v1
with:
path: vnu-runtime-image
key: ${{ runner.os }}-validator-${{ env.VALIDATOR_VERSION }}
- run: sudo apt-get -y install libxml2-utils
- run: npm install
- name: Download validatornu
# There isn't a package with a `validatornu` command in Ubuntu, so download the validator
# from the GitHub releases and change the validate_static script later to use it.
run: wget https://github.com/validator/validator/releases/download/${{ env.VALIDATOR_VERSION }}/vnu.linux.zip && unzip vnu.linux.zip
if: steps.validator-cache.outputs.cache-hit != 'true'
- run: sed -i 's+validatornu+vnu-runtime-image/bin/vnu+g' validate_static
- name: validate static
run: ./validate_static