From 7fcec41f08ddb0ff33e8ad062846c07d52c57384 Mon Sep 17 00:00:00 2001 From: Sophie Lathouwers Date: Thu, 4 Jul 2024 15:42:57 +0200 Subject: [PATCH 1/3] Add docker smoke test + workflow --- .github/workflows/docker-image.yml | 45 ++++++++++++++++++++++++++++ .github/workflows/docker-smoke-test | 46 +++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 .github/workflows/docker-image.yml create mode 100644 .github/workflows/docker-smoke-test diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml new file mode 100644 index 000000000..52bfd1d38 --- /dev/null +++ b/.github/workflows/docker-image.yml @@ -0,0 +1,45 @@ +name: Docker Image CI + +on: + workflow_dispatch: + +env: + MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true + MAVEN_CLI_OPTS: --batch-mode --errors --fail-at-end --show-version + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - run: git checkout 48fb295 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Run the Maven verify phase + run: mvn $MAVEN_CLI_OPTS verify + - name: Build Docker image for Knowledge Directory + uses: docker/build-push-action@v6 + with: + context: ./knowledge-directory + platforms: linux/amd64 + tags: knowledge-directory + load: true + - name: Build Docker image for Smart Connector + uses: docker/build-push-action@v6 + with: + context: ./smart-connector-rest-dist + platforms: linux/amd64 + tags: smart-connector + load: true + - name: Build and start smoke test + run: docker compose -f ".github/workflows/docker-smoke-test" up -d --build + - name: Check smoke test status + run: sleep 60s && test $(docker info --format '{{json .ContainersRunning}}') == 5 + shell: bash \ No newline at end of file diff --git a/.github/workflows/docker-smoke-test b/.github/workflows/docker-smoke-test new file mode 100644 index 000000000..8cf7e2440 --- /dev/null +++ b/.github/workflows/docker-smoke-test @@ -0,0 +1,46 @@ +services: + knowledge-directory: + image: knowledge-directory + + runtime-1: + image: smart-connector + environment: + KE_RUNTIME_PORT: 8081 + KE_RUNTIME_EXPOSED_URL: http://runtime-1:8081 + KD_URL: http://knowledge-directory:8282 + runtime-2: + image: smart-connector + environment: + KE_RUNTIME_PORT: 8081 + KE_RUNTIME_EXPOSED_URL: http://runtime-2:8081 + KD_URL: http://knowledge-directory:8282 + + kb1: + build: ../../examples/common/asking_kb + environment: + KE_URL: http://runtime-1:8280/rest + KB_ID: http://example.org/kb1 + PREFIXES: | + { + "ex": "http://example.org/" + } + GRAPH_PATTERN: | + ?a ex:relatedTo ?b . + kb2: + build: ../../examples/common/answering_kb + environment: + KE_URL: http://runtime-2:8280/rest + KB_ID: http://example.org/kb2 + PREFIXES: | + { + "ex": "http://example.org/" + } + GRAPH_PATTERN: | + ?a ex:relatedTo ?b . + KB_DATA: | + [ + { + "a": "", + "b": "" + } + ] \ No newline at end of file From 17f8e3818a4c37c55c18b727d1bd196fb2775a8c Mon Sep 17 00:00:00 2001 From: Sophie Lathouwers Date: Thu, 4 Jul 2024 15:56:57 +0200 Subject: [PATCH 2/3] Update docker-image.yml --- .github/workflows/docker-image.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 52bfd1d38..be5f8eefa 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -17,9 +17,6 @@ jobs: java-version: '17' distribution: 'temurin' - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - run: git checkout 48fb295 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Run the Maven verify phase @@ -42,4 +39,4 @@ jobs: run: docker compose -f ".github/workflows/docker-smoke-test" up -d --build - name: Check smoke test status run: sleep 60s && test $(docker info --format '{{json .ContainersRunning}}') == 5 - shell: bash \ No newline at end of file + shell: bash From 5015547f18fa9db1beb027afce331f5748cb1bc4 Mon Sep 17 00:00:00 2001 From: Sophie Lathouwers Date: Thu, 4 Jul 2024 17:23:41 +0200 Subject: [PATCH 3/3] Update docker-image.yml --- .github/workflows/docker-image.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index be5f8eefa..1778b1901 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -1,7 +1,10 @@ name: Docker Image CI -on: - workflow_dispatch: +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] env: MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true