Skip to content

Commit

Permalink
Add Java validator without firely terminal
Browse files Browse the repository at this point in the history
  • Loading branch information
florianschoffke committed Feb 19, 2024
1 parent 1502fdd commit 45d33a7
Showing 1 changed file with 59 additions and 13 deletions.
72 changes: 59 additions & 13 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

env:
JAVA_VALIDATOR_VERSION: 6.0.15
PATH_TO_EXAMPLES: 'temp_folder/'
FHIR_VERSION: "4.0"
INPUT_JAVA_VALIDATION_OPTIONS: "-tx http://tx.fhir.org -debug -allow-example-urls true"
IG_DEPENDENCIES: "-ig de.basisprofil.r4#1.3.2 -ig hl7.fhir.r4.core#4.0.1 -ig kbv.ita.for#1.1.0 -ig kbv.ita.erp#1.1.x -ig de.gematik.erezept-workflow.r4 1.x.x"

jobs:
CI_EXAMPLES_VALIDATION:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -41,21 +48,60 @@ jobs:
run: |
mkdir -p temp_folder # Create a temp folder
git diff --name-only origin/main...HEAD | grep -E '\.(json|xml)$' | xargs -I {} cp {} temp_folder/
ls -l './temp_folder'
- name: Firely.Terminal (GitHub Actions)
uses: FirelyTeam/[email protected]
with:
PATH_TO_CONFORMANCE_RESOURCES: './temp_folder'
FIRELY_TERMINAL_VERSION: 3.1.0
#PATH_TO_EXAMPLES: Examples
#PATH_TO_QUALITY_CONTROL_RULES: qc/custom
DOTNET_VALIDATION_ENABLED: false
JAVA_VALIDATION_ENABLED: true
OUTPUT_FORMAT: RAW
JAVA_VALIDATION_OPTIONS: -allow-example-urls true
JAVA_VALIDATOR_VERSION: 6.0.11
SUSHI_ENABLED: false
# --------------------------------------------------------------------------------------------------- #
# JAVA Validator #
# --------------------------------------------------------------------------------------------------- #

- name: Check if Java is installed
run: |
if ! command -v java &> /dev/null
then
echo "java could not be found. Please see actions/setup-java to set it up before running this action."
exit 1
fi
shell: bash

- name: Download Java Validator
run: |
CHECK_JAVA_VERSION=$(java -version 2>&1 | head -1 | cut -d'"' -f2)
echo "JAVA_VERSION: $CHECK_JAVA_VERSION"
wget -q https://github.com/hapifhir/org.hl7.fhir.core/releases/download/$JAVA_VALIDATOR_VERSION/validator_cli.jar
echo "JAVA_VALIDATOR_VERSION: $JAVA_VALIDATOR_VERSION"
shell: bash

- name: Install jq
run: |
sudo apt-get update > /dev/null
sudo apt-get install --no-install-recommends -y jq findutils curl ca-certificates > /dev/null
shell: bash

- name: Validate all example resources in scope of the repository
run: |
for p in $INPUT_PATH_TO_CONFORMANCE_RESOURCES; # Get combined path to conformance resources, we want to validate against the current version of the conformance resources
do
COMBINED_IG_PARAMETERS+="-ig $GITHUB_WORKSPACE/$p "
done
for p in $PATH_TO_EXAMPLES;
do
# Ensure directory ends with "/"
if [[ ! "$p" =~ .*/$ ]]; then
p="$p/"
fi
UNESCPAED_IG_DEPENDENCIES=$(echo $IG_DEPENDENCIES | tr -d '"')
java -jar validator_cli.jar temp_folder/$p*.xml temp_folder/$p*.json -version $FHIR_VERSION $INPUT_JAVA_VALIDATION_OPTIONS $UNESCPAED_IG_DEPENDENCIES $COMBINED_IG_PARAMETERS
fi
done
- name: Cleanup
if: always()
run: rm -rf temp_folder

0 comments on commit 45d33a7

Please sign in to comment.