Use wait-for-it instead of wait4x to wait for postgres #5
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
--- | |
# yamllint disable rule:line-length | |
name: Biotestmine | |
# yamllint disable-line rule:truthy | |
on: | |
push: | |
paths: | |
- '.env' | |
- '.github/workflows/biotestmine.yml' | |
- 'intermine_builder/**' | |
- 'local.docker-compose.yml' | |
- 'mkdatadirs.sh' | |
- 'postgres/**' | |
- 'solr/**' | |
- 'tomcat/**' | |
jobs: | |
biotestmine: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install prerequisites | |
run: | | |
set -eux -o pipefail | |
sudo apt -y install wait-for-it | |
- name: Make data dirs | |
run: | | |
set -eux -o pipefail | |
./mkdatadirs.sh | |
mkdir ./data/mine/biotestmine | |
- name: Run | |
run: | | |
set -eux -o pipefail | |
cd ${GITHUB_WORKSPACE} | |
# Try to trap any build errors early | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml run --rm intermine_builder | |
- name: Up | |
run: | | |
set -eux -o pipefail | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml up -d | |
- name: Wait | |
run: | | |
set -eux -o pipefail | |
# Wait for builder to finish and return exit code | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml wait intermine_builder | |
# Wait 15 minutes | |
wait-for-it localhost:9999 --timeout=900 | |
- name: Dump Docker logs | |
if: failure() | |
run: | | |
set -eux -o pipefail | |
sleep 120 | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml logs intermine_builder | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml logs postgres | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml logs solr | |
DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose -f local.docker-compose.yml logs tomcat | |
- name: Check webapp | |
run: | | |
set -eux -o pipefail | |
curl -I -L --retry 10 --fail --insecure "http://localhost:9999/biotestmine/" |