Skip to content

Update test suit to fix failures and improve setup #2

Update test suit to fix failures and improve setup

Update test suit to fix failures and improve setup #2

name: Test entire repo against DEA Sandbox images
# This workflow tests the entire repository against DEA Sandbox "stable" and"latest" images in three scenarios:
# 1. On a regular schedule (twice weekly)
# 2. When Python code changes (i.e. DEA Tools changes) are proposed to the develop branch
# 3. On-demand through manual triggering
on:
# Run on schedule: Every Sunday and Wednesday at 10:00 UTC
# This is intended to catch problems that may occur even without code changes
# (e.g. changes to the DEA Sandbox images)
schedule:
- cron: "0 10 * * 0,3"
# Run whenever a pull request to the develop branch modifies Python files
# in DEA Tools. This catches potential issues early before changes are merged
pull_request:
branches:
- develop
paths:
- '**/*.py'
# Allow manual triggering through the GitHub UI
# Useful for on-demand testing or troubleshooting
workflow_dispatch:
permissions:
id-token: write # Required for OIDC authentication to AWS
contents: read
jobs:
test-notebooks:
runs-on: ubuntu-latest
# Test DEA Notebooks sections against both stable and latest Sandbox image
strategy:
matrix:
image:
- "latest"
- "stable"
tests:
- "dea_tools"
- "beginners_guide"
- "dea_products"
- "how_to_guides"
- "real_world_examples"
- "scalable_machine_learning"
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
path: dea-notebooks
- name: Set up database access and tests
uses: ./dea-notebooks/.github/actions/test_setup
with:
image: ${{ matrix.image }}
- name: Run tests against each DEA Notebooks section
run: |
sudo chown -R 1000:100 ./dea-notebooks
cd ./dea-notebooks
docker run --rm \
--net=host \
--env DATACUBE_DB_URL \
--env AWS_SESSION_TOKEN \
--env AWS_REGION \
--env AWS_ACCESS_KEY_ID \
--env AWS_SECRET_ACCESS_KEY \
--env AWS_SESSION_TOKEN \
--volume ${GITHUB_WORKSPACE}/dea-notebooks:/home/jovyan/dea-notebooks \
--volume ${GITHUB_WORKSPACE}/tide_models:/var/share/tide_models \
--env GDAL_HTTP_MAX_RETRY=10 \
--entrypoint /bin/bash \
538673716275.dkr.ecr.ap-southeast-2.amazonaws.com/geoscienceaustralia/sandbox:${{ matrix.image }} \
/home/jovyan/dea-notebooks/Tests/test_notebooks.sh "${{ matrix.tests }}"