Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/ssi-dk/sofi_core
Browse files Browse the repository at this point in the history
  • Loading branch information
allanhvam committed May 28, 2024
2 parents 64be79b + 0cdb828 commit f348cbe
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 0 deletions.
124 changes: 124 additions & 0 deletions .github/workflows/build-docker-images.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: Build Docker Images

on:
push:
branches:
- "master"

jobs:
# This job finds the lastest tag and bumps it based on the conventional commit.

prepare_tag:
outputs:
tag: ${{ steps.semver.outputs.next }}
permissions:
contents: write

runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

# Defaults to patch version, will bump minor on "feat" commit

- name: Get Next Version
id: semver
uses: ietf-tools/semver-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: master
patchAll: true

- name: Push tag
id: tag_version
uses: mathieudutour/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
custom_tag: ${{ steps.semver.outputs.next }}
tag_prefix: ""

# Build the Docker images and push to the GitHub container registry

build_and_push:
needs: prepare_tag
permissions:
contents: write
packages: write

runs-on: ubuntu-latest

strategy:
matrix:
include:
- image: ghcr.io/ssi-dk/sap-web
dockerfile: app/Dockerfile
path: app
- image: ghcr.io/ssi-dk/sap-api
dockerfile: web/Dockerfile
path: web
- image: ghcr.io/ssi-dk/bifrost-queue-broker
dockerfile: bifrost/bifrost_queue_broker/Dockerfile
path: bifrost/bifrost_queue_broker
- image: ghcr.io/ssi-dk/bifrost-listener
dockerfile: bifrost/bifrost_listener/Dockerfile
path: bifrost/bifrost_listener
- image: ghcr.io/ssi-dk/bifrost-listener
dockerfile: bifrost/bifrost_listener/Dockerfile
path: bifrost/bifrost_listener

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# loops over all images in the matrix defined on top

- name: Build and push
uses: docker/build-push-action@v5
with:
context: ${{ matrix.path }}
platforms: linux/amd64
tags: ${{ matrix.image }}:${{ needs.prepare_tag.outputs.tag }}
file: ${{ matrix.dockerfile }}
push: true

# Uses the tag from the first job, and updates the GitOps repo with the new tag.

commit_to_dev:
needs:
- prepare_tag
- build_and_push
environment: dev
permissions:
contents: write

runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: ssi-dk/sofi_core_gitops
ref: main
path: sofi_core_gitops
token: "${{ secrets.ACTION_PAT }}"

- name: update image
uses: mikefarah/yq@master
with:
cmd: |
yq eval '.spec.template.spec.containers[0].image = "ghcr.io/mytest/httpd:${{ needs.prepare_tag.outputs.tag }}"' -i ./sofi_core_gitops/test.yaml
- uses: EndBug/add-and-commit@v9
with:
author_name: GitOps Bot
author_email: [email protected]
cwd: sofi_core_gitops
message: Update deployments with tag "${{ needs.prepare_tag.outputs.tag }}"
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ In order to build and run locally, you will need the following utilities:
* docker-compose

### Extra Windows pre-requisites

This guide is for running the project using WSL2 in Windows.

1. Follow this guide [https://docs.microsoft.com/en-us/windows/wsl/setup/environment#get-started](https://docs.microsoft.com/en-us/windows/wsl/setup/environment#get-started)
Expand Down Expand Up @@ -204,3 +205,5 @@ Consult `docs/`.
4. Restart `sofi.service` by executing `systemctl restart sofi.service` and following the prompts.

5. Verify chances by inspecting the logs, `journalctl -u sofi.service -f`, and check the website in the browser.


3 changes: 3 additions & 0 deletions app/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ RUN yarn run build
FROM build AS testing
ENV CI true
LABEL test=true

# label to ghcr package
LABEL org.opencontainers.image.source https://github.com/ssi-dk/sofi_core
# RUN yarn run lint
RUN yarn run test-ci; exit 0

Expand Down

0 comments on commit f348cbe

Please sign in to comment.