@@ -102,3 +102,49 @@ jobs:
name: html-docs-build
path: docs/_build/html
retention-days: 7
+ docker-compose:
+ name: Docker Image tests
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ db: [postgres, mysql]
+ steps:
+ - name: Checkout source code
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Set up Python 3.9
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.9
+ - name: Bring up docker-compose service
+ env:
+ COMPOSE_FILE: ${{ matrix.db == 'mysql' && 'docker-compose.yml' || 'docker-compose-pg.yml' }}
+ run: |
+ docker-compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g)
+ docker-compose up --detach
+
+ for count in $(seq 50); do \
+ if curl --fail --silent "http://localhost:8000"; then \
+ break; \
+ fi; \
+ sleep 1; echo -n .; \
+ done
+ echo
+
+ docker-compose exec -T web \
+ python manage.py createsuperuser \
+ --username patchwork --no-input --email test@example.com
+ { echo patchwork; echo patchwork; } | \
+ docker-compose exec -T web \
+ python manage.py changepassword patchwork
+ docker-compose ps
+ - name: Test client access (git-pw)
+ run: |
+ python -m pip install git-pw
+ git pw --debug \
+ --server http://localhost:8000/api/1.2 --project patchwork \
+ --username patchwork --password patchwork series list
+ - name: Dump container logs
+ if: ${{ always() }}
+ run: docker-compose logs --no-color --timestamps
new file mode 100644
@@ -0,0 +1,4 @@
+---
+other:
+ - |
+ Add GitHub Actions for both mysql/postgres docker-compose.yml.
v2: fix intermittent error. Signed-off-by: You-Sheng Yang <vicamo@gmail.com> --- .github/workflows/ci.yaml | 46 +++++++++++++++++++ ...docker-compose-tests-69f13bc725725754.yaml | 4 ++ 2 files changed, 50 insertions(+) create mode 100644 releasenotes/notes/ci-add-docker-compose-tests-69f13bc725725754.yaml