Skip to content

Commit

Permalink
Merge branch 'main' into FI-3261-markdown-descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
AlyssaWang authored Nov 26, 2024
2 parents 0a80d9a + 9196912 commit ae8176f
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 10 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## 0.5.1
* FI-3097: Maintain checkbox label colors on error by @AlyssaWang in https://github.com/inferno-framework/inferno-core/pull/537
* Fi 2962 execute outputters by @Shaumik-Ashraf in https://github.com/inferno-framework/inferno-core/pull/541
* FI-3469: Use provided auth input options by @AlyssaWang in https://github.com/inferno-framework/inferno-core/pull/560
* FI-3475: Unit testing improvements by @Jammjammjamm in https://github.com/inferno-framework/inferno-core/pull/559
* FI-3023: Add default env vars and documentation to validator dockerfile by @dehall in https://github.com/inferno-framework/inferno-core/pull/562
* Fix Inferno::Entities::TestSession docs by @Shaumik-Ashraf in https://github.com/inferno-framework/inferno-core/pull/563

## 0.5.0
* FI-3358: Check for Duplicate Ids in In-Memory Repositories by @vanessuniq in https://github.com/inferno-framework/inferno-core/pull/551
* FI-3223: Ensure Request Entity Verb Is Always Downcased by @vanessuniq in https://github.com/inferno-framework/inferno-core/pull/554
Expand Down
3 changes: 2 additions & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
inferno_core (0.5.0)
inferno_core (0.5.1)
activesupport (~> 6.1.7.5)
base62-rb (= 0.3.1)
blueprinter (= 0.25.2)
Expand Down Expand Up @@ -328,6 +328,7 @@ GEM
PLATFORMS
arm64-darwin-21
arm64-darwin-22
arm64-darwin-23
x86_64-darwin-20
x86_64-darwin-22
x86_64-linux
Expand Down
6 changes: 3 additions & 3 deletions lib/inferno/entities/test_session.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ module Entities
# @return [String] id of the `TestSuite` being run in this session
# @!attribute test_suite
# @return [Inferno::Entities::TestSuite] the `TestSuite` being run in this
# session
# session
# @!attribute test_runs
# @return [Array<Inferno::Entities::TestRun>] the `TestRuns` associated
# with this session
# with this session
# @!attribute results
# @return [Array<Inferno::Entities::TestResult>] the `TestResults`
# associated with this session
# associated with this session
# @!attribute suite_options
# @return [Hash] the suite options associated with this session
class TestSession < Entity
Expand Down
2 changes: 1 addition & 1 deletion lib/inferno/version.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module Inferno
# Standard patterns for gem versions: https://guides.rubygems.org/patterns/
VERSION = '0.5.0'.freeze
VERSION = '0.5.1'.freeze
end
12 changes: 9 additions & 3 deletions validator/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# This Dockerfile is based on the Dockerfile for org.hl7.fhir.validator-wrapper
# https://github.com/hapifhir/org.hl7.fhir.validator-wrapper/blob/master/Dockerfile
# with 3 key differences:
# with the following differences:
# 1. It fetches the built JAR from GitHub instead of locally, or building from source
# 2. It adds MITRE certs, for ease of use by the MITRE development team
# 3. It uses an Ubuntu-based base image instead of Alpine to support both AMD64 and ARM architectures
# 4. It defaults the following environment variables:
# - SESSION_CACHE_IMPLEMENTATION=PassiveExpiringSessionCache
# - SESSION_CACHE_DURATION=-1
# - These enable the old session cache implementation, and configure the session cache to never expire sessions.
#
# The software release to use is based on the PROJECT_VERSION build argument (required)

Expand All @@ -15,7 +19,7 @@ RUN wget https://gitlab.mitre.org/mitre-scripts/mitre-pki/-/raw/master/os_script
ARG PROJECT_VERSION
RUN echo "Project version set to -> ${PROJECT_VERSION}"

ENV APPLICATION_USER ktor
ENV APPLICATION_USER=ktor
RUN adduser $APPLICATION_USER

RUN mkdir /app
Expand All @@ -28,7 +32,9 @@ WORKDIR /app
RUN wget -O validator-wrapper.jar "https://github.com/hapifhir/org.hl7.fhir.validator-wrapper/releases/download/${PROJECT_VERSION}/validator_cli.jar"

# Environment vars here
ENV ENVIRONMENT prod
ENV ENVIRONMENT=prod
ENV SESSION_CACHE_IMPLEMENTATION=PassiveExpiringSessionCache
ENV SESSION_CACHE_DURATION=-1

EXPOSE 3500

Expand Down
16 changes: 14 additions & 2 deletions validator/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,26 @@
# infernocommunity/inferno-resource-validator

This Dockerfile is based on the Dockerfile for org.hl7.fhir.validator-wrapper (see https://github.com/hapifhir/org.hl7.fhir.validator-wrapper/blob/master/Dockerfile ) with 3 key differences relevant to Inferno:
This Dockerfile is based on the Dockerfile for org.hl7.fhir.validator-wrapper (see https://github.com/hapifhir/org.hl7.fhir.validator-wrapper/blob/master/Dockerfile ) with the following differences relevant to Inferno:
1. It fetches the built JAR from GitHub instead of locally, or building from source
2. It adds MITRE certs, for ease of use by the MITRE development team
3. It uses an Ubuntu-based base image instead of Alpine to support both AMD64 and ARM architectures
4. It defaults the following environment variables:
- SESSION_CACHE_IMPLEMENTATION=PassiveExpiringSessionCache
- SESSION_CACHE_DURATION=-1
- These enable the old session cache implementation, and configure the session cache to never expire sessions.

It is intended to be a drop-in replacement for the official image; i.e., if you don't need features 2 & 3 above you can use the same version of `markiantorno/validator-wrapper` with all the same settings, environment variables, etc. Version numbers of this image should match the version number of the official image.
It is intended to be a drop-in replacement for the official image; i.e., if you don't need features 2 & 3 above you can use the same version of `markiantorno/validator-wrapper`. Version numbers of this image should match the version number of the official image. The only difference is you will need to set the environment variables as mentioned in (4) above, depending on which behavior you want.

In addition to the above differences, published versions of this image have been tested by the Inferno team and are known to be compatible with Inferno test kits.

## Recommended release sequence
Since there are many test kits that depend on this validator service, the following sequence is recommended:

1. Watch https://github.com/hapifhir/org.hl7.fhir.validator-wrapper for new releases.
2. When there is a new release, build this dockerfile locally and test g10 (all versions of US Core) against it by updating the version in `docker-compose.background.yml`
3. If there are changes needed to this dockerfile, submit that PR first.
4. Publish a new version of this image once it's ready. IMPORTANT: any test kit that doesn't pin a specific version of the validator will now use this latest image.
5. Submit a PR on g10 to update the the version in `docker-compose.background.yml` and `lib/onc_certification_g10_test_kit/configuration_checker.rb`, and update the message filters if necessary.

## Publishing a new version
A script `build_and_push.sh` is provided to assist with publishing a new version. The version of the wrapper service to use must be provided as the first command-line argument (required).
Expand Down

0 comments on commit ae8176f

Please sign in to comment.