Skip to content

Issue 4221 - restore fhir-swagger-generator source #4803

Issue 4221 - restore fhir-swagger-generator source

Issue 4221 - restore fhir-swagger-generator source #4803

Workflow file for this run

name: Integration
on:
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
- 'demo/**'
- '.github/workflows/site.yml'
jobs:
e2e-postgres:
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.labels.*.name, 'ci-skip')"
strategy:
matrix:
java: [ '11' ]
environment: [ 'minio', 'azurite' ]
fail-fast: false
steps:
- uses: actions/checkout@v2.3.3
- name: Set up java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build samples
run: mvn -B install --file fhir-examples --no-transfer-progress -Dmaven.wagon.http.retryHandler.count=3
- name: Build parent without tests
run: |
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.2:go-offline -f fhir-parent -DexcludeReactor=true -Dmaven.wagon.http.retryHandler.count=3
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.2:resolve-plugins -f fhir-parent -DexcludeReactor=true -Dmaven.wagon.http.retryHandler.count=3
mvn -B install --file fhir-parent -DskipTests -P include-fhir-igs,integration --no-transfer-progress -Dmaven.wagon.http.retryHandler.count=3
docker build fhir-install --build-arg VERBOSE=false -t linuxforhealth/fhir-server
- name: free disk space
run: |
# create and remove a 200 MB file to make sure we have the room needed later
dd if=/dev/urandom oflag=direct of=balloon.dat bs=1024k count=200
rm -f balloon.dat
sudo apt clean
docker system prune -f
df -h
- name: Server Integration Tests
run: |
# github actions lets you set this on re-run to diagnose the test failure
# so we tap into that here to have each line of our scripts printed
if [ -n "${{ secrets.ACTIONS_STEP_DEBUG }}" ]; then
set -x
export SHELLOPTS
fi
build/pre-integration-test-docker.sh ${{ matrix.environment }}
mvn -B test -DskipTests=false -f fhir-server-test --no-transfer-progress -Dmaven.wagon.http.retryHandler.count=3
build/post-integration-test-docker.sh ${{ matrix.environment }}
- name: Gather error logs
if: failure()
run: |
it_results=integration-test-results
rm -fr ${it_results} 2>/dev/null
mkdir -p ${it_results}/server-logs
mkdir -p ${it_results}/fhir-server-test
containerId=$(docker ps -a | grep fhir | cut -d ' ' -f 1)
if [[ -z "${containerId}" ]]; then
echo "Warning: Could not find fhir container!!!"
else
echo "fhir container id: $containerId"
# Grab the container's console log
docker logs $containerId >& ${it_results}/docker-console.txt
echo "Gathering post-test server logs from docker container: $containerId"
docker cp -L $containerId:/logs ${it_results}/server-logs
fi
echo "Gathering integration test output"
cp -r ${GITHUB_WORKSPACE}/fhir-server-test/target/surefire-reports/* ${it_results}/fhir-server-test || true
- name: Upload logs
if: always()
uses: actions/upload-artifact@v2.2.0
with:
name: integration-test-results-${{ matrix.java }}-${{ matrix.environment }}
path: integration-test-results
concurrency:
group: integration-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true