You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 2, 2024. It is now read-only.
Run tests against corresponding extension docker container
The main goal of this change (which is probably too large) is to ensure
that we can build the promscale connector against a version of the
promscale extension which contains all of the necessary bits.
This change is motivated by the fact that there is now a hard dependency
on the extension, and we need to be able to test in-progress changes
across repositories.
The basic mechanism is that for each open PR in the promscale_extension
repo, there will be a docker image built and pushed to the registry at:
`ghcr.io/timescale/dev_promscale_extension:<special-tag-here>`.
`<special-tag-here>` is constructed from the branch name from which the
PR originated. When a PR is opened in the promscale repository, we look
to see if there is already a docker image corresponding to the branch
name. If not, we fall back to the most recent docker image which was
built on the `develop` branch in the extension repository.
`<special-tag-here>` has the basic form of:
`<extension-version>-<timescale-major>-<pg-version>`
Some examples are:
- `jg-ha-dockerfile-ts2-pg14`
- `develop-ts2-pg14`
- `0.5.0-ts2-pg14`
Local development is supported through two mechanisms:
1. When running e.g. `make docker-image-14` in the promscale_extension
repo, the docker image is tagged as: `local/dev_promscale_extension`
with the `<extension-version>` component of the tag set to `head`.
2. When running `make test` in the promscale repo, it first looks to see
if a local image is available matching the `local/` prefix, then
checks for a docker image derived from the current branch name, and
then for built from the `develop` branch.
A number of things have changed tangentially as well:
- end_to_end tests now take the docker image which they should run
against as an argument instead of using some magic to derive it
- `make test` was split into two components: `make unit` and `make e2e`
- multinode tests are being skipped because we broke them in the develop
branch of the promscale extension
run: go test ./pkg/tests/end_to_end_tests/ -use-timescaledb=$TSDB -use-multinode=$MULTI -use-timescaledb-nightly=$NIGHTLY -timescale-docker-image=$DOCKER_IMAGE
run: go test -race -timeout=30m ./pkg/tests/end_to_end_tests/ -use-timescaledb=$TSDB -use-multinode=$MULTI -postgres-version-major=$PG | tee $SHORTNAME-test-run.log 2>&1
144
+
run: go test -race -timeout=30m ./pkg/tests/end_to_end_tests/ -use-timescaledb=$TSDB -use-multinode=$MULTI -timescale-docker-image=$DOCKER_IMAGE | tee $SHORTNAME-test-run.log 2>&1
0 commit comments