name: Validate static on: pull_request: push: branches: [master] jobs: validate-static: runs-on: ubuntu-latest env: VALIDATOR_VERSION: 20.6.30 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 update - run: sudo apt-get -y install libxml2-utils yajl-tools - 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