Fix fetch-testdata and enable external CI triggers
Description
fetch-testdata.py
was failing when told to fetch a specific ref of the testdata repo. This functionality is required to allow the alleles/ella-testdata CI to trigger this repo's tests on changes that have not yet been merged into main
. Enabling this allows us to verify the new testdata is valid before making changes and breaking everything.
Ideally there will someday be a complete integration test combining backend, frontend, testdata and anno.
Changes
Testdata handling
- if local repo isn't present, only check refs based on
git ls-remote
output - expanded testdata cases
- include
REF
env var from Makefile/CI in the test containers- this allows alleles/ella-testdata to trigger CI for data changes
CI tests
- Added
UPSTREAM_TRIGGER
variable for pipelines triggered from other repos-
CI_PIPELINE_SOURCE=trigger
is only true for pipelines triggered by API key -
CI_PIPELINE_SOURCE=pipeline
whether created as part of this repo's CI or an upstream one
-
- When set, build steps are skipped since there are no code changes
- If present, its value is the repo that triggered the pipeline (i.e., ella-testdata). The external repo is responsible for setting/forwarding the variable when triggering the pipeline
Scope creep changes
- Testing
- increase hypothesis deadline in
test_regionfilter
to reduce flakiness - fix incorrect artifact path for non-e2e tests
- bad path was preventing logs being included with failed tests
- sort
.prettierignore
and addella-testdata/
- non-prettier formatted data in
ella-testdata
was causing formatting tests to fail
- non-prettier formatted data in
- mark all jobs interruptible so superseded pipelines are actually canceled
- Moved building the review image to the review stage instead of
build
so it's only run if tests pass
- increase hypothesis deadline in
- Makefile
- merge
_e2e_prep
into_test_prep
- merge
- Dockerfile
- add
jq
to base image,vim
to dev target- dev/debugging convenience
- add
- Devcontainer
- mount extensions from host OS for faster rebuilds
- dev convenience
- mount extensions from host OS for faster rebuilds
- Misc
- Add dev pipeline status and latest release badges to README.md
Related issues
Closes #2163 (closed)
Notes to review (code/docs/QA)
Tests
General
-
Tests have been added that prove my fix is effective or that my feature works -
Related tests have been modified/removed
Hypothesis testing:
-
Soak testing has been done -
Distribution between positive / negative cases has been checked
Database
-
Includes changes to database schema -
Includes necessary database migrations
Configuration
-
Includes changes to configuration -
Includes configuration migration instructions in documentation
Edited by Tor Solli-Nowlan