Update test suit to fix failures and improve setup #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }}" |