From 2f2303af587bb684acc2094a9312027e7757ebe2 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Fri, 3 May 2024 01:20:30 +0200 Subject: [PATCH 1/2] parallel testing in docker test image --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 30a2d86d9e..793f50d926 100644 --- a/Dockerfile +++ b/Dockerfile @@ -124,7 +124,7 @@ COPY .perlcriticrc .perltidyrc perlimports.toml tidyall.ini ./ COPY t t USER metacpan -CMD [ "prove", "-lr", "t" ] +CMD [ "prove", "-l", "-r", "-j", "2", "t" ] ################### Production Server FROM server AS production From bd5343a2caf8bcce375089125e5dde8e6c829c54 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Fri, 3 May 2024 01:20:44 +0200 Subject: [PATCH 2/2] fix build workflows to run tests properly with new Dockerfile setup --- .../workflows/build-deployment-container.yml | 19 +++++++++++++------ .../workflows/build-production-container.yml | 19 +++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-deployment-container.yml b/.github/workflows/build-deployment-container.yml index a3f01f5427..2d628ead18 100644 --- a/.github/workflows/build-deployment-container.yml +++ b/.github/workflows/build-deployment-container.yml @@ -12,14 +12,21 @@ jobs: name: Docker Push steps: - uses: actions/checkout@v3 - - name: Docker build - run: docker build . -t metacpan/metacpan-web:$GITHUB_SHA - - name: Run Perl tests - run: docker run -i metacpan/metacpan-web carton exec prove -lr --jobs 2 t - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USER }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Push build to Docker hub - run: docker push metacpan/metacpan-web:$GITHUB_SHA + - name: Build test image + - uses: docker/build-push-action@v2 + with: + tags: metacpan/metacpan-web:test + target: test + push: false + - name: Run Perl tests + run: docker run -i metacpan/metacpan-web:test + - name: Build and push + uses: docker/build-push-action@v5 + with: + push: true + tags: metacpan/metacpan-web:$GITHUB_SHA diff --git a/.github/workflows/build-production-container.yml b/.github/workflows/build-production-container.yml index c61cfd157c..260799ebe9 100644 --- a/.github/workflows/build-production-container.yml +++ b/.github/workflows/build-production-container.yml @@ -11,14 +11,21 @@ jobs: name: Docker Push steps: - uses: actions/checkout@v3 - - name: docker build - run: docker build . -t metacpan/metacpan-web:latest -t metacpan/metacpan-web:$GITHUB_SHA - - name: run Perl tests - run: docker run -i metacpan/metacpan-web carton exec prove -lr --jobs 2 t - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USER }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - - name: Push build to Docker Hub - run: docker push --all-tags metacpan/metacpan-web + - name: Build test image + - uses: docker/build-push-action@v2 + with: + tags: metacpan/metacpan-web:test + target: test + push: false + - name: Run Perl tests + run: docker run -i metacpan/metacpan-web:test + - name: Build and push + uses: docker/build-push-action@v5 + with: + push: true + tags: metacpan/metacpan-web:latest,metacpan/metacpan-web:$GITHUB_SHA