]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
ci: Test supported docker container operations
authorYou-Sheng Yang <vicamo@gmail.com>
Thu, 9 Dec 2021 03:38:40 +0000 (11:38 +0800)
committerStephen Finucane <stephen@that.guru>
Wed, 23 Feb 2022 13:43:59 +0000 (13:43 +0000)
Signed-off-by: You-Sheng Yang <vicamo@gmail.com>
Reviewed-by: Stephen Finucane <stephen@that.guru>
.github/workflows/ci.yaml

index d37cdbf8443c60b2d40ef96e03b897c220a16f13..6e9033deb150a56ded03c81d0d5bda2cefd5f8dc 100644 (file)
@@ -116,6 +116,8 @@ jobs:
     strategy:
       matrix:
         db: [postgres, mysql]
+    env:
+      COMPOSE_FILE: ${{ matrix.db == 'mysql' && 'docker-compose.yml' || 'docker-compose-pg.yml' }}
     steps:
       - name: Checkout source code
         uses: actions/checkout@v2
@@ -125,11 +127,30 @@ jobs:
         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' }}
+      - name: Build docker-compose service
         run: |
           docker-compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g)
+      - name: Test createsuperuser/changepassword
+        run: |
+          docker-compose run -T --rm web \
+              python manage.py createsuperuser \
+              --username patchwork --no-input --email test@example.com
+          { echo patchwork; echo patchwork; } | \
+              docker-compose run -T --rm web \
+              python manage.py changepassword patchwork
+      - name: Test dbbackup/dbrestore
+        run: |
+          docker-compose run -T --rm web python manage.py dbbackup
+          echo y | docker-compose run -T --rm web python manage.py dbrestore
+      - name: Modify database user permissions (mysql)
+        if: ${{ matrix.db == 'mysql' }}
+        run: |
+          docker-compose exec -T -- db \
+              sh -c "exec mysql -uroot -p\"\${MYSQL_ROOT_PASSWORD}\" -e \"GRANT ALL ON \\\`test\\_\${MYSQL_DATABASE}%\\\`.* to '\${MYSQL_USER}'@'%'; FLUSH PRIVILEGES;\""
+      - name: Run unittest
+        run: docker-compose run -T --rm web tox
+      - name: Test normal startup
+        run: |
           docker-compose up --detach
 
           for count in $(seq 50); do \
@@ -140,12 +161,6 @@ jobs:
           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: |