auto: Keyman for developer help deployment #2001
Workflow file for this run
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: CI | |
on: [pull_request] | |
jobs: | |
build-test: | |
runs-on: ubuntu-20.04 | |
env: | |
KEYMANHOSTS_TIER: TIER_TEST | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
# Build the docker image and create link to vendor/ dependencies | |
- name: Build the Docker image | |
shell: bash | |
run: | | |
echo "TIER_TEST" > tier.txt | |
./build.sh configure build start | |
env: | |
fail-fast: true | |
# | |
# Finally, run the tests; note that this is almost all replicated in build.sh; here logging is reduced (TODO sync) | |
# | |
- name: PHP unit tests | |
shell: bash | |
run: | | |
docker exec help-keyman-com-app sh -c "vendor/bin/phpunit --testdox" | |
- name: Lint | |
shell: bash | |
run: | | |
( set +e; set +o pipefail; find . -name '*.php' | grep -v '/vendor/' | xargs -n 1 -d '\n' php -l | grep -v "No syntax errors detected"; exit ${PIPESTATUS[2]} ) | |
- name: Check broken links | |
shell: bash | |
run: | | |
set +e; | |
set +o pipefail; | |
npx broken-link-checker http://localhost:8055 --ordered --recursive --requests 50 --host-requests 50 -e --filter-level 3 | \ | |
grep -E "BROKEN|Getting links from" | \ | |
grep -B 1 "BROKEN" | |
exit ${PIPESTATUS[0]} | |
- name: Check PHP errors | |
shell: bash | |
run: | | |
CONTAINER=`docker container ls -l -q` | |
if docker container logs $CONTAINER 2>&1 | grep -q 'php7'; then | |
echo 'PHP reported errors or warnings:' | |
docker container logs $CONTAINER 2>&1 | grep 'php7' | |
exit 1 | |
else | |
echo 'No PHP errors found' | |
exit 0 | |
fi |