Bump next from 13.1.0 to 14.0.2 #1843
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
pull_request: | |
types: [opened, reopened] | |
jobs: | |
verify-docker-setup: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Init | |
run: ./scripts/docker_setup_init.sh | |
- name: Pull images | |
run: docker-compose pull db | |
- name: Docker build | |
run: docker-compose build web | |
- name: Docker init | |
run: docker-compose run --rm web sh -c 'exit 0' | |
build-docker-image: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
outputs: | |
docker-tag: ${{ steps.meta.outputs.tags }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Docker Buildx to be able to use caching | |
uses: docker/setup-buildx-action@v2 | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v3 | |
with: | |
images: local/${{ github.repository }} | |
- name: Build image | |
uses: docker/build-push-action@v3 | |
with: | |
file: Dockerfile.prod | |
tags: ${{ steps.meta.outputs.tags }} | |
cache-from: type=gha | |
cache-to: type=gha | |
lint: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [build-docker-image] | |
env: | |
NESTJS_STARTER_IMAGE: ${{ needs.build-docker-image.outputs.docker-tag }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Docker Buildx to be able to use caching | |
uses: docker/setup-buildx-action@v2 | |
- name: Build image | |
uses: docker/build-push-action@v3 | |
with: | |
load: true | |
file: Dockerfile.prod | |
tags: ${{ needs.build-docker-image.outputs.docker-tag }} | |
cache-from: type=gha | |
cache-to: type=gha | |
- name: Init | |
run: ./scripts/docker_setup_init.sh | |
- name: Pull images | |
run: docker-compose pull | |
- name: Run lint | |
run: docker-compose run web yarn lint | |
test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [build-docker-image] | |
env: | |
NESTJS_STARTER_IMAGE: ${{ needs.build-docker-image.outputs.docker-tag }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Docker Buildx to be able to use caching | |
uses: docker/setup-buildx-action@v2 | |
- name: Build image | |
uses: docker/build-push-action@v3 | |
with: | |
load: true | |
file: Dockerfile.prod | |
tags: ${{ needs.build-docker-image.outputs.docker-tag }} | |
cache-from: type=gha | |
cache-to: type=gha | |
- name: Init | |
run: ./scripts/docker_setup_init.sh | |
- name: Pull images | |
run: docker-compose pull | |
- name: Run tests | |
run: docker-compose run web yarn test | |
test-request: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [build-docker-image] | |
env: | |
NESTJS_STARTER_IMAGE: ${{ needs.build-docker-image.outputs.docker-tag }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Docker Buildx to be able to use caching | |
uses: docker/setup-buildx-action@v2 | |
- name: Build image | |
uses: docker/build-push-action@v3 | |
with: | |
load: true | |
file: Dockerfile.prod | |
tags: ${{ needs.build-docker-image.outputs.docker-tag }} | |
cache-from: type=gha | |
cache-to: type=gha | |
- name: Init | |
run: ./scripts/docker_setup_init.sh | |
- name: Pull images | |
run: docker-compose pull | |
- name: Run request tests | |
run: docker-compose run web yarn test:request | |
test-e2e: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [build-docker-image] | |
env: | |
NESTJS_STARTER_IMAGE: ${{ needs.build-docker-image.outputs.docker-tag }} | |
DUMMY_MOUNT: .:/dummy | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Docker Buildx to be able to use caching | |
uses: docker/setup-buildx-action@v2 | |
- name: Build image | |
uses: docker/build-push-action@v3 | |
with: | |
load: true | |
file: Dockerfile.prod | |
tags: ${{ needs.build-docker-image.outputs.docker-tag }} | |
cache-from: type=gha | |
cache-to: type=gha | |
- name: Init | |
run: ./scripts/docker_setup_init.sh | |
- name: Pull images | |
run: docker-compose pull | |
- name: Docker up | |
run: docker-compose up --detach | |
- name: Cypress run | |
uses: cypress-io/github-action@v4 | |
with: | |
wait-on: 'http://localhost:3000' | |
wait-on-timeout: 120 | |
- name: Save Cypress artifacts | |
uses: actions/upload-artifact@v2 | |
if: always() | |
with: | |
name: cypress-artifacts | |
path: | | |
cypress/videos | |
cypress/screenshots | |
- name: Docker setup logs | |
if: always() | |
run: docker-compose logs --timestamps --tail="all" > docker-logs.txt | |
- name: Save log artifacts | |
uses: actions/upload-artifact@v2 | |
if: always() | |
with: | |
name: log-artifacts | |
path: docker-logs.txt |