Skip to content

Commit 247153b

Browse files
Merge pull request #422 from IBM/master
sync with master
2 parents 4c20800 + fc39c3d commit 247153b

228 files changed

Lines changed: 35257 additions & 5315 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 67 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: CI
1+
name: Continuous Integration
22

33
on:
44
pull_request:
@@ -8,12 +8,16 @@ on:
88
jobs:
99
build-tools:
1010
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
java: [ 'openjdk8', 'openjdk11' ]
14+
fail-fast: false
1115
steps:
1216
- uses: actions/checkout@v1
13-
- name: Set up JDK 1.8
14-
uses: actions/setup-java@v1
17+
- name: Set up OpenJDK
18+
uses: joschi/setup-jdk@v1
1519
with:
16-
java-version: 1.8
20+
java-version: ${{ matrix.java }}
1721
- name: Build tools
1822
run: mvn -B install --file fhir-tools/pom.xml
1923
- name: Build samples
@@ -26,33 +30,80 @@ jobs:
2630
run: mvn -B package --file fhir-benchmark/pom.xml
2731
build:
2832
runs-on: ubuntu-latest
33+
strategy:
34+
matrix:
35+
java: [ 'openjdk8', 'openjdk11' ]
36+
fail-fast: false
2937
steps:
3038
- uses: actions/checkout@v1
31-
- name: Set up JDK 1.8
32-
uses: actions/setup-java@v1
39+
- name: Set up OpenJDK
40+
uses: joschi/setup-jdk@v1
3341
with:
34-
java-version: 1.8
42+
java-version: ${{ matrix.java }}
3543
- name: Build samples
36-
run: mvn -B install --file fhir-examples/pom.xml
44+
run: mvn -B install --file fhir-examples/pom.xml --no-transfer-progress
3745
- name: Build parent with tests
38-
run: mvn -B -T2C package --file fhir-parent/pom.xml
46+
env:
47+
BASE: origin/${{ github['base_ref'] }}
48+
run: |
49+
jdbc_paths=(
50+
fhir-search/src/main
51+
fhir-persistence/src/main
52+
fhir-persistence-schema/src/main
53+
fhir-persistence-jdbc
54+
)
55+
model_paths=(
56+
fhir-model
57+
)
58+
declare -a PROFILES_ARR
59+
60+
if [ -n "$(git --no-pager diff --name-only ${BASE} ${GITHUB_SHA} -- ${jdbc_paths[@]})" ]; then
61+
echo "Changes affect fhir-persistence-jdbc, running ALL"
62+
PROFILES_ARR+=(jdbc-all-tests)
63+
else
64+
echo "No changes affect fhir-persistence-jdbc, running MINIMAL"
65+
fi
66+
67+
if [ -n "$(git --no-pager diff --name-only ${BASE} ${GITHUB_SHA} -- ${model_paths[@]})" ]; then
68+
echo "Changes affect fhir-model, running ALL"
69+
PROFILES_ARR+=(model-all-tests)
70+
else
71+
echo "No changes affect fhir-model, running MINIMAL"
72+
fi
73+
74+
if [ ${#PROFILES[@]} -eq 0 ]; then
75+
# Convert the PROFILES_ARR array to a comma-delimited string
76+
PROFILES=$(IFS=, ; echo "${PROFILES_ARR[*]}")
77+
echo "Using profiles ${PROFILES}"
78+
mvn -B -T2C package --file fhir-parent/pom.xml -P "${PROFILES}" --no-transfer-progress
79+
else
80+
mvn -B -T2C package --file fhir-parent/pom.xml --no-transfer-progress
81+
fi
3982
e2e-tests:
4083
runs-on: ubuntu-latest
84+
strategy:
85+
matrix:
86+
java: [ 'openjdk8', 'openjdk11' ]
87+
fail-fast: false
4188
steps:
4289
- uses: actions/checkout@v1
43-
- name: Set up JDK 1.8
44-
uses: actions/setup-java@v1
90+
- name: Set up OpenJDK
91+
uses: joschi/setup-jdk@v1
4592
with:
46-
java-version: 1.8
93+
java-version: ${{ matrix.java }}
4794
- name: Build samples
48-
run: mvn -B install --file fhir-examples/pom.xml
95+
run: mvn -B install --file fhir-examples/pom.xml --no-transfer-progress
4996
- name: Build parent without tests
50-
run: mvn -B install --file fhir-parent/pom.xml -DskipTests
97+
run: mvn -B install --file fhir-parent/pom.xml -DskipTests --no-transfer-progress
5198
- name: Server Integration Tests
99+
env:
100+
# debian-based linux uses C.UTF-8 by default and Derby doesn't like that
101+
LC_ALL: en_US.UTF-8
52102
run: |
53103
export WORKSPACE=${GITHUB_WORKSPACE}
54104
build/pre-integration-test.sh
55-
mvn test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true
105+
env
106+
mvn -B test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true --no-transfer-progress
56107
build/post-integration-test.sh
57108
- name: Gather error logs
58109
if: failure()
@@ -69,5 +120,5 @@ jobs:
69120
if: always()
70121
uses: actions/upload-artifact@master
71122
with:
72-
name: integration-test-results
123+
name: integration-test-results-${{ matrix.java }}
73124
path: SIT/integration-test-results

build/pre-integration-test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ tries=0
7575
status=0
7676
while [ $status -ne 200 -a $tries -lt ${MAX_TRIES} ]; do
7777
tries=$((tries + 1))
78-
cmd="curl -k -o ${WORKSPACE}/metadata.json -I -w "%{http_code}" -u fhiruser:change-password $metadata_url"
78+
cmd="curl -sS -k -o ${WORKSPACE}/metadata.json -I -w %{http_code} -u fhiruser:change-password $metadata_url "
7979
echo "Executing[$tries]: $cmd"
8080
status=$($cmd)
8181
echo "Status code: $status"

docs/.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#*.zip filter=lfs diff=lfs merge=lfs -text
2+
#*.tgz filter=lfs diff=lfs merge=lfs -text

docs/.gitignore

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Eclipse
2+
.project
3+
.settings/
4+
.classpath
5+
6+
## Annotation processing
7+
.apt_generated/
8+
.apt_generated_tests/
9+
.factorypath
10+
11+
# IntelliJ IDEA
12+
*.iml
13+
.idea/
14+
15+
# Mac OS X
16+
.DS_Store
17+
18+
# Output folders
19+
target/
20+
test-output/
21+
22+
# Integration tests
23+
/SIT/
24+
/pre-it-logs/
25+
/pre-it-logs.zip
26+
/server-logs/
27+
/integration-test-results/
28+
/integration-test-results.zip
29+
30+
# avoid LFS problems
31+
/apidocs/**/*.zip
32+
/target/
33+
34+
35+
# Logs
36+
logs
37+
*.log
38+
npm-debug.log*
39+
yarn-debug.log*
40+
yarn-error.log*
41+
42+
# Runtime data
43+
pids
44+
*.pid
45+
*.seed
46+
*.pid.lock
47+
48+
# Directory for instrumented libs generated by jscoverage/JSCover
49+
lib-cov
50+
51+
# Coverage directory used by tools like istanbul
52+
coverage
53+
54+
# nyc test coverage
55+
.nyc_output
56+
57+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
58+
.grunt
59+
60+
# Bower dependency directory (https://bower.io/)
61+
bower_components
62+
63+
# node-waf configuration
64+
.lock-wscript
65+
66+
# Compiled binary addons (http://nodejs.org/api/addons.html)
67+
build/Release
68+
69+
# Dependency directories
70+
node_modules/
71+
jspm_packages/
72+
73+
# Typescript v1 declaration files
74+
typings/
75+
76+
# Optional npm cache directory
77+
.npm
78+
79+
# Optional eslint cache
80+
.eslintcache
81+
82+
# Optional REPL history
83+
.node_repl_history
84+
85+
# Output of 'npm pack'
86+
*.tgz
87+
88+
# dotenv environment variables file
89+
.env
90+
91+
# gatsby files
92+
.cache/
93+
public
94+
95+
# Mac files
96+
.DS_Store
97+
98+
# Yarn
99+
yarn-error.log
100+
.pnp/
101+
.pnp.js
102+
# Yarn Integrity file
103+
.yarn-integrity

docs/CHANGELOG.md

Lines changed: 0 additions & 89 deletions
This file was deleted.

docs/_config.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Jekyll Configuration for Static Pages
2+
3+
title: IBM FHIR Server
4+
description: >-
5+
The IBM FHIR Server is a modular Java implementation of version 4
6+
of the <a href="https://www.hl7.org/fhir/r4/http.html">HL7 FHIR specification</a> with
7+
a focus on performance and configurability.
8+
baseurl: ""
9+
url: "https://ibm.github.io/fhir"
10+
11+
# Build settings
12+
plugins:
13+
- jekyll-github-metadata
14+
- jekyll-sitemap
15+
16+
source: ./_site/
17+
destination: ./_site/
18+
show_drafts: false
19+
future: false
20+
21+
markdown: kramdown
22+
23+
# Remote Theme - https://github.blog/2017-11-29-use-any-theme-with-github-pages/
24+
theme: jekyll-theme-slate
25+
26+
relative_links:
27+
enabled: true
28+
collections: false
29+
30+
include:
31+
- public/
32+
- _site/
33+
- index.html
34+
35+
repository: IBM/FHIR

docs/build-site.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env bash
2+
3+
###############################################################################
4+
# (C) Copyright IBM Corp. 2016, 2019
5+
#
6+
# SPDX-License-Identifier: Apache-2.0
7+
###############################################################################
8+
set -ex
9+
10+
# Steps that need to be executed
11+
12+
# install gatsby and plugins
13+
# npm install gatsby-plugin-slug --save
14+
npm install
15+
16+
gatsby build --prefix-paths
17+
18+
# Run gatsby serve to see what the site looks like.

0 commit comments

Comments
 (0)