From 61bd81aa4475f79cc13367c424d573cd1cf2e3ec Mon Sep 17 00:00:00 2001 From: ilia Nikiforov Date: Wed, 1 Nov 2023 21:08:24 -0500 Subject: [PATCH] replace test dockerfile with docker run command in github workflow --- ...cker-publish.yml => docker-publish-and-test.yml} | 13 +++++++++---- docker/test/Dockerfile | 10 ---------- .../test_scripts_and_data/compare_dbs.py | 0 .../test => test}/test_scripts_and_data/data.json | 0 ...up_and_run_equilibriumcrystalstructure_sample.sh | 2 +- 5 files changed, 10 insertions(+), 15 deletions(-) rename .github/workflows/{docker-publish.yml => docker-publish-and-test.yml} (93%) delete mode 100644 docker/test/Dockerfile rename {docker/test => test}/test_scripts_and_data/compare_dbs.py (100%) rename {docker/test => test}/test_scripts_and_data/data.json (100%) rename {docker/test => test}/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh (97%) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish-and-test.yml similarity index 93% rename from .github/workflows/docker-publish.yml rename to .github/workflows/docker-publish-and-test.yml index 64e28f4..aa4bc22 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish-and-test.yml @@ -1,4 +1,4 @@ -name: Docker publish +name: Docker publish and test # This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by @@ -10,6 +10,7 @@ on: types: [ published ] pull_request: branches: [ main ] + push: env: REGISTRY: ghcr.io @@ -185,7 +186,7 @@ jobs: # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} - if: github.event_name != 'pull_request' + if: (github.event_name != 'pull_request') && (github.event_name != 'push') uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c with: registry: ${{ env.REGISTRY }} @@ -228,7 +229,7 @@ jobs: with: context: docker/${{ env.DOCKER_DIR_CONFIG }} file: docker/${{ env.DOCKER_DIR_CONFIG }}/${{ env.DOCKERFILE_NAME }} - push: ${{ github.event_name != 'pull_request' }} + push: ${{ (github.event_name != 'pull_request') && (github.event_name != 'push') }} build-args: | "IMAGE_INSTALL=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG_INSTALL }}" tags: | @@ -246,6 +247,10 @@ jobs: rm -rf ${{ env.IMAGE_CACHE_DIR_SYS }} rm -rf ${{ env.IMAGE_CACHE_DIR_GIT }} + - name: Test minimal image + run: | + docker run --rm --mount type=bind,src=$PWD/test/test_scripts_and_data,target=/home/openkim/test_scripts_and_data --env LD_LIBRARY_PATH=:/usr/local/lib image_minimal /bin/bash -c 'cd /home/openkim/test_scripts_and_data && bash set_up_and_run_equilibriumcrystalstructure_sample.sh && python compare_dbs.py' + # Finally, install additional packages to create the full image based on # the minimal image # @@ -255,7 +260,7 @@ jobs: with: context: docker/${{ env.DOCKER_DIR_ADDITIONAL }} file: docker/${{ env.DOCKER_DIR_ADDITIONAL }}/${{ env.DOCKERFILE_NAME }} - push: ${{ github.event_name != 'pull_request' }} + push: ${{ (github.event_name != 'pull_request') && (github.event_name != 'push') }} build-args: | "IMAGE_MINIMAL=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.meta.outputs.version }}-minimal" tags: | diff --git a/docker/test/Dockerfile b/docker/test/Dockerfile deleted file mode 100644 index 00bb81f..0000000 --- a/docker/test/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -ARG IMAGE_MINIMAL - -FROM ${IMAGE_MINIMAL} - -COPY test_scripts_and_data test_scripts_and_data - -ENV LD_LIBRARY_PATH :/usr/local/lib - -# for now filenames are hardcoded, including a string literal in compare_dbs.py -RUN /bin/bash -c 'cd test_scripts_and_data && bash set_up_and_run_equilibriumcrystalstructure_sample.sh && python compare_dbs.py' diff --git a/docker/test/test_scripts_and_data/compare_dbs.py b/test/test_scripts_and_data/compare_dbs.py similarity index 100% rename from docker/test/test_scripts_and_data/compare_dbs.py rename to test/test_scripts_and_data/compare_dbs.py diff --git a/docker/test/test_scripts_and_data/data.json b/test/test_scripts_and_data/data.json similarity index 100% rename from docker/test/test_scripts_and_data/data.json rename to test/test_scripts_and_data/data.json diff --git a/docker/test/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh b/test/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh similarity index 97% rename from docker/test/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh rename to test/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh index aaddfaa..65aeef3 100644 --- a/docker/test/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh +++ b/test/test_scripts_and_data/set_up_and_run_equilibriumcrystalstructure_sample.sh @@ -19,4 +19,4 @@ kimitems install -D Sim_LAMMPS_TersoffZBL_DevanathanDiazdelaRubiaWeber_1998_SiC_ pipeline-database set local -pipeline-run-matches \*_TE_\* +pipeline-run-matches \*_TE_\* \ No newline at end of file