Skip to content

Fi 2727 inferno ci without tls #33

Fi 2727 inferno ci without tls

Fi 2727 inferno ci without tls #33

Workflow file for this run

name: Inferno CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
INFERNO_G10_RELEASE: v6.0.0
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout server
uses: actions/checkout@v4
- name: Fetch latest g10 test kit
run: git clone https://github.com/onc-healthit/onc-certification-g10-test-kit.git --branch $INFERNO_G10_RELEASE --depth 1
# TODO: delete this when inferno execute is merged
- name: Point test kit to experimental branch
working-directory: ${{ github.workspace }}/onc-certification-g10-test-kit
run: |
echo "gem 'inferno_core', git: 'https://github.com/inferno-framework/inferno-core.git', branch: 'fi-2937-inferno-execute'" >> Gemfile
rm Gemfile.lock # force re-install
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
working-directory: ${{ github.workspace }}/onc-certification-g10-test-kit
bundler-cache: true
- name: Start server
run: |
docker compose build
docker compose up -d
wget -qO- https://raw.githubusercontent.com/eficode/wait-for/v2.2.3/wait-for | sh -s -- localhost:8080 -- echo "Server ready"
- name: Start Inferno services
working-directory: ${{ github.workspace }}/onc-certification-g10-test-kit
run: |
gem install foreman
bundle exec inferno migrate
bundle exec inferno services start
wget -qO- https://raw.githubusercontent.com/eficode/wait-for/v2.2.3/wait-for | sh -s -- http://localhost:80/hl7validatorapi/validator/version -- echo "Inferno services ready"
- name: Run test kit with select groups from single patient api
working-directory: ${{ github.workspace }}/onc-certification-g10-test-kit
env:
INFERNO_EXEC_SUITE_OPTIONS: 'us_core_version:us_core_3 smart_app_launch_version:smart_app_launch_1 multi_patient_version:multi_patient_api_stu1'
INFERNO_EXEC_INPUTS: '"url:localhost:8080/reference-server/r4" patient_id:85 patient_ids:85,355 "smart_credentials:{\"access_token\":\"SAMPLE_TOKEN\"}"'
run: |
bundle exec inferno execute --suite g10_certification \
--suite-options us_core_version:us_core_3 \
smart_app_launch_version:smart_app_launch_1 \
multi_patient_version:multi_patient_api_stu1 \
--groups 4 \
--inputs "url:https://inferno.healthit.gov/reference-server/r4" \
patient_id:85 \
additional_patient_ids:85,355 \
"smart_credentials:{\"access_token\":\"SAMPLE_TOKEN\"}" \
standalone_client_id:SAMPLE_CONFIDENTIAL_CLIENT_ID \
standalone_client_secret:SAMPLE_CONFIDENTIAL_CLIENT_SECRET \
"standalone_requested_scopes:launch/patient openid fhirUser offline_access patient/Medication.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/Procedure.read patient/Provenance.read patient/PractitionerRole.read" \
use_pkce:disabled \
expected_resources:Patient,Condition,Observation \
ehr_client_id:SAMPLE_CONFIDENTIAL_CLIENT_ID \
ehr_client_secret:SAMPLE_CONFIDENTIAL_CLIENT_SECRET \
"ehr_requestes_scopes:launch openid fhirUser offline_access user/Medication.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Patient.read user/Practitioner.read user/Procedure.read user/Provenance.read user/PractitionerRole.read" \
"bulk_server_url:https://inferno.healthit.gov/reference-server/oauth/token" \
"bulk_token_endpoint:https://inferno.healthit.gov/reference-server/oauth/token" \
bulk_client_id:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4 \
"bulk_scope:system/*.read" \
bulk_encryption_method:ES384 \
group_id:1a \
bulk_patient_ids_in_group:85,355 \
bulk_timeout:180 \
public_client_id:SAMPLE_PUBLIC_CLIENT_ID \
"public_requested_scopes:launch/patient openid fhirUser offline_access patient/Medication.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/Procedure.read patient/Provenance.read patient/PractitionerRole.read" \
token_revocation_attestation:false \
ehr_patient_client_id:SAMPLE_CONFIDENTIAL_CLIENT_ID \
ehr_patient_client_secret:SAMPLE_CONFIDENTIAL_CLIENT_SECRET \
"ehr_requested_scopes:launch openid fhirUser offline_access patient/Patient.read" \
single_patient_registration_supported:false \
multiple_patient_registration_supported:false \
resource_authorization_gui_supported:false \
offline_access_notification_supported:false \
refresh_token_period_attestation:false \
information_accuracy_attestation:false \
multi_patient_scopes_attestation:false \
developer_documentation_attestation:false \
jwks_cache_attestation:false \
patient_suffix_attestation:false \
native_refresh_attestation:false \
public_url_attestation:false \
refresh_token_refresh_attestation:false \
"tls_version_attestation_notes:THIS IS RUNNING IN FOR CONTINUOUS INTEGRATION TESTING SO NO TLS SUPPORT PROVIDED."
- name: Stop server
run: docker compose down
- name: Stop Inferno services
working-directory: ${{ github.workspace }}/onc-certification-g10-test-kit
run: bundle exec inferno services stop