diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml new file mode 100644 index 00000000..a83426b3 --- /dev/null +++ b/.github/workflows/integration-test.yml @@ -0,0 +1,61 @@ +--- +name: Integration Test + +on: + pull_request: + branches: + - develop + paths: + - '.github/workflows/integration-test.yml' + - 'docker/**' + + push: + branches: + - develop + paths: + - '.github/workflows/integration-test.yml' + - 'docker/**' + + release: + types: [published] + +permissions: + id-token: write + contents: read + +jobs: + integration-test: + runs-on: ubuntu-latest + steps: + - name: git checkout dea-sandbox + uses: actions/checkout@v3 + with: + path: dea-sandbox + + - name: git checkout dea-notebooks + uses: actions/checkout@v3 + with: + repository: GeoscienceAustralia/dea-notebooks + path: dea-notebooks + ref: stable + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: arn:aws:iam::538673716275:role/github-actions-role-readonly + aws-region: ap-southeast-2 + + - name: Copy tide modelling files with the AWS CLI + run: aws s3 sync s3://dea-non-public-data/tide_models/tide_models tide_models + + - name: Start docker-compose + run: | + sudo chown -R 1000:100 ./dea-notebooks + cd ./dea-sandbox/integration-testing + CURRENT_UID=1000:100 docker-compose up -d + + - name: Set up Datacube and Test + run: | + cd ./dea-sandbox/integration-testing + docker-compose exec -T sandbox ./dea-notebooks/Tests/setup_test_datacube.sh + docker-compose exec -T sandbox ./dea-notebooks/Tests/test_notebooks.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index 3ad707bd..49a6f217 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM mambaorg/micromamba:git-7545124-jammy as sandbox-conda +FROM mambaorg/micromamba:git-e4f55ab-jammy as sandbox-conda USER root COPY env.yaml /conf/ @@ -16,7 +16,7 @@ ENV CC=/env/bin/x86_64-conda_cos6-linux-gnu-gcc \ RUN micromamba run -p /env pip install --no-cache-dir \ --no-build-isolation -r /conf/requirements.txt -FROM ubuntu:jammy-20220815 +FROM ubuntu:jammy-20230816 ARG nb_user=jovyan ARG nb_uid=1000 diff --git a/docker/env.yaml b/docker/env.yaml index 050b04fd..78cd20f7 100644 --- a/docker/env.yaml +++ b/docker/env.yaml @@ -76,7 +76,7 @@ dependencies: - itsdangerous - Jinja2 - jmespath - - jsonschema + - jsonschema<4.18 - kiwisolver - lark - python-lmdb @@ -99,6 +99,7 @@ dependencies: - partd - Pillow - PIMS + - poetry - psutil - psycopg2 - pyasn1 @@ -240,7 +241,6 @@ dependencies: - prompt-toolkit # because of line_profiler/ipython - nbconvert # because of jupyter_contrib_nbextensions - nbformat - - nbval - sidecar - yapf - jedi diff --git a/docker/requirements.txt b/docker/requirements.txt index 415df5b4..698318df 100644 --- a/docker/requirements.txt +++ b/docker/requirements.txt @@ -1,4 +1,5 @@ cognitojwt +nbval cgal line-profiler jupyterlab-logout