diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index f17cc0daed..f3e6e88443 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -105,3 +105,29 @@ jobs: curl $CURLOPTS "http://localhost/domjudge/jury/judging-verifier?verify_multiple=1" | w3m -dump -T text/html exit 1 fi + - name: Finalize contest so that awards appear in the feed + shell: bash + run: | + set -x + export CURLOPTS="--fail -m 30 -b $COOKIEJAR" + curl $CURLOPTS http://localhost/domjudge/jury/contests/1/freeze/doNow || true + curl $CURLOPTS http://localhost/domjudge/jury/contests/1/end/doNow || true + curl $CURLOPTS -X POST -d 'finalize_contest[b]=0&finalize_contest[finalizecomment]=gitlab&finalize_contest[finalize]=' http://localhost/domjudge/jury/contests/1/finalize + - name: Verify no errors in prod.log + shell: bash + run: | + if cat /opt/domjudge/domserver/webapp/var/log/prod.log | egrep '(CRITICAL|ERROR):'; then + exit 1 + fi + - name: Download and perform API check + shell: bash + run: | + cd $HOME + curl -o yajsv https://github.com/neilpa/yajsv/releases/download/v1.4.1/yajsv.linux.amd64 + chmod a+x yajsv + echo -e "\033[0m" + git clone https://github.com/icpc/ccs-specs.git + export CCS_SPECS_PINNED_SHA1='a68aff54c4e60fc2bff2fc5c36c119bffa4d30f1' + ( cd ccs-specs && git reset --hard $CCS_SPECS_PINNED_SHA1 ) + export CHECK_API="${HOME}/ccs-specs/check-api.sh -j ${HOME}/yajsv" + $CHECK_API -n -C -e -a 'strict=1' http://admin:password@localhost/domjudge/api