Skip to content

Update all dependencies #164

Update all dependencies

Update all dependencies #164

Workflow file for this run

name: Run unit tests, push image to Docker hub and run e2e tests
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
run_unit_tests:
name: Run unit tests
uses: ./.github/workflows/ci.yml
check_code_formatting:
name: Check code is formatted with ktlint
uses: ./.github/workflows/ktlint.yml
push_to_registry:
needs:
- run_unit_tests
- check_code_formatting
name: Build & Push docker image to dockerhub
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Extract metadata to env variables
uses: HSLdevcom/jore4-tools/github-actions/extract-metadata@extract-metadata-v1
- name: Pull previous image to support caching
run: docker pull $IMAGE_NAME:builder || echo "Previous builder image not found"
- name: Build dependencies & source code into builder image to support caching
run: docker build --cache-from=$IMAGE_NAME:builder --target builder -t $IMAGE_NAME:builder .
- name: Build docker image for distribution
run: docker build --cache-from=$IMAGE_NAME:builder --cache-from=$IMAGE_NAME:latest -t $IMAGE_NAME:dev --build-arg NEXT_PUBLIC_GIT_HASH=$GITHUB_SHA .
- name: Tag docker image as 'latest'
if: ${{ github.ref == 'refs/heads/main' }}
run: docker tag $IMAGE_NAME:dev $IMAGE_NAME:latest
- name: Tag docker image as '<branch_name>-<git_commit_sha>'
run: docker tag $IMAGE_NAME:dev $IMAGE_NAME:$COMMIT_ID
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.JORE4_DOCKERHUB_USER }}
password: ${{ secrets.JORE4_DOCKERHUB_TOKEN }}
- name: Push image tagged with git commit details to Docker Hub
run: docker push $IMAGE_NAME:$COMMIT_ID
- name: Push rest of the tags to Docker Hub
if: ${{ github.ref == 'refs/heads/main' }}
run: |
docker push $IMAGE_NAME:builder
docker push $IMAGE_NAME:latest
run_e2e_tests:
needs:
- run_unit_tests
- check_code_formatting
- push_to_registry
name: Run e2e tests
runs-on: ubuntu-22.04
steps:
- name: Extract metadata to env variables
uses: HSLdevcom/jore4-tools/github-actions/extract-metadata@extract-metadata-v1
- name: Run e2e tests
uses: HSLdevcom/jore4-tools/github-actions/run-ci@main
with:
auth_version: "${{ env.IMAGE_NAME }}:${{ env.COMMIT_ID }}"