diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f492230244..dba6c5e6e7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,9 +46,7 @@ jobs: - uses: actions/checkout@v2 - name: Run check ${{ matrix.tests.label }} - run: make github_ci_runner - env: - CI_GITHUB_COMMAND: ${{ matrix.tests.command }} + run: AWX_DOCKER_CMD='${{ matrix.tests.command }}' make github_ci_runner dev-env: runs-on: ubuntu-latest diff --git a/Makefile b/Makefile index 642513dace..896dcf2c6c 100644 --- a/Makefile +++ b/Makefile @@ -301,13 +301,20 @@ test: cd awxkit && $(VENV_BASE)/awx/bin/tox -re py3 awx-manage check_migrations --dry-run --check -n 'missing_migration_file' +## Login to Github container image registry, pull image, then build image. github_ci_setup: - echo $(CI_GITHUB_TOKEN) | docker login ghcr.io -u $(GITHUB_ACTOR) --password-stdin # Log in to registry + # GITHUB_ACTOR is automatic github actions env var + # CI_GITHUB_TOKEN is defined in .github files + echo $(CI_GITHUB_TOKEN) | docker login ghcr.io -u $(GITHUB_ACTOR) --password-stdin docker pull $(DEVEL_IMAGE_NAME) || : # Pre-pull image to warm build cache - make docker-compose-build # Build image + make docker-compose-build -github_ci_runner: github_ci_setup - docker run -u $(shell id -u) --rm -v $(GITHUB_WORKSPACE):/awx_devel/:Z --workdir=/awx_devel $(DEVEL_IMAGE_NAME) $(CI_GITHUB_COMMAND) +## Runs AWX_DOCKER_CMD inside a new docker container. +docker-runner: + docker run -u $(shell id -u) --rm -v $(shell pwd):/awx_devel/:Z --workdir=/awx_devel $(DEVEL_IMAGE_NAME) $(AWX_DOCKER_CMD) + +## Builds image and runs AWX_DOCKER_CMD in it, mainly for .github checks. +github_ci_runner: github_ci_setup docker-runner test_collection: rm -f $(shell ls -d $(VENV_BASE)/awx/lib/python* | head -n 1)/no-global-site-packages.txt