Skip to content

Updated chart versions #34

Updated chart versions

Updated chart versions #34

name: Release Charts
on:
push:
branches:
- master
workflow_run:
workflows: [Scheduled Release]
types:
- completed
jobs:
release:
environment: master
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
ref: 'master'
- name: Checkout latest spec
run: |
git submodule set-branch --branch master specs &&
git submodule update --init --recursive
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Build driver card auth provider
uses: codex-/return-dispatch@v1
id: driver-card-auth-provider-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-transport-management-driver-card-keycloak-auth-provider
owner: Metatavu
workflow: master-maven-publish.yml
- name: Wait driver card auth provider build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-transport-management-driver-card-keycloak-auth-provider
owner: Metatavu
run_id: ${{ steps.driver-card-auth-provider-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Build keycloak
uses: codex-/return-dispatch@v1
id: keycloak-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-transport-management-keycloak
owner: Metatavu
workflow: master-publish-docker-image.yaml
- name: Build vehicle data receiver
uses: codex-/return-dispatch@v1
id: vehicle-data-receiver-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-vehicle-data-receiver
owner: Metatavu
workflow: master-publish-docker-image.yaml
- name: Build vehicle management service
uses: codex-/return-dispatch@v1
id: vehicle-management-service-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-vehicle-management-service-api
owner: Metatavu
workflow: master-publish-docker-image.yaml
- name: Build work planning service
uses: codex-/return-dispatch@v1
id: work-planning-service-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-work-planning-service-api
owner: Metatavu
workflow: master-publish-docker-image.yaml
- name: Build delivery info service
uses: codex-/return-dispatch@v1
id: delivery-info-service-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-delivery-info-service-api
owner: Metatavu
workflow: master-publish-docker-image.yaml
- name: Build user management service
uses: codex-/return-dispatch@v1
id: user-management-service-build
with:
token: ${{ secrets.DISPATCH_PAT }}
ref: master
repo: vp-kuljetus-user-management-service-api
owner: Metatavu
workflow: master-publish-docker-image.yaml
- name: Wait keycloak build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-transport-management-keycloak
owner: Metatavu
run_id: ${{ steps.keycloak-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Wait vehicle data receiver build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-vehicle-data-receiver
owner: Metatavu
run_id: ${{ steps.vehicle-data-receiver-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Wait vehicle management service build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-vehicle-management-service-api
owner: Metatavu
run_id: ${{ steps.vehicle-management-service-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Wait work planning service build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-work-planning-service-api
owner: Metatavu
run_id: ${{ steps.work-planning-service-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Wait delivery info service build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-delivery-info-service-api
owner: Metatavu
run_id: ${{ steps.delivery-info-service-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Wait user management service build
uses: Codex-/await-remote-run@v1.0.0
with:
token: ${{ secrets.DISPATCH_PAT }}
repo: vp-kuljetus-user-management-service-api
owner: Metatavu
run_id: ${{ steps.user-management-service-build.outputs.run_id }}
run_timeout_seconds: 300
- name: Calculate new version
id: resolve_version
uses: mathieudutour/github-tag-action@v6.1
with:
dry_run: true
github_token: ${{ secrets.GITHUB_TOKEN }}
tag_prefix: 'transport-management-'
- name: Set new version
id: version
run: |
echo NEW_VERSION=$(echo ${{ steps.resolve_version.outputs.new_tag }}|sed s/transport-management-//) >> $GITHUB_ENV
- name: Update versions
run: |
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/auth/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/tyk-gateway/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/tyk-redis/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/vehicle-data-receiver/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/vehicle-management-service/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/work-planning-service/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/delivery-info-service/Chart.yaml &&
sed -i 's/version: .*/version: ${{ env.NEW_VERSION }}/g' ./charts/transport-management/charts/user-management-service/Chart.yaml &&
git add ./charts/transport-management/Chart.yaml ./charts/transport-management/charts/auth/Chart.yaml ./charts/transport-management/charts/tyk-gateway/Chart.yaml ./charts/transport-management/charts/tyk-redis/Chart.yaml ./charts/transport-management/charts/vehicle-data-receiver/Chart.yaml ./charts/transport-management/charts/vehicle-management-service/Chart.yaml ./charts/transport-management/charts/work-planning-service/Chart.yaml ./charts/transport-management/charts/delivery-info-service/Chart.yaml ./charts/transport-management/charts/user-management-service/Chart.yaml
- name: Resolve auth docker image sha
id: auth-tag
run: |
docker pull ghcr.io/metatavu/vp-kuljetus-transport-management-keycloak:latest &&
echo AUTH_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-transport-management-keycloak:latest|jq '.[].RepoDigests[0]'|sed s/\"//g|sed 's/[a-z\.\/\-]*@sha256://') >> $GITHUB_OUTPUT
- name: Update auth image version
run: |
sed -i 's/sha256: .*/sha256: ${{ steps.auth-tag.outputs.AUTH_IMAGE_SHA }}/g' ./charts/transport-management/charts/auth/values.yaml &&
git add ./charts/transport-management/charts/auth/values.yaml
- name: Resolve data receiver project docker image sha
id: data-receiver-tag
run: |
docker pull ghcr.io/metatavu/vp-kuljetus-vehicle-data-receiver:latest &&
echo DATA_RECIVER_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-vehicle-data-receiver:latest|jq '.[].RepoDigests[0]'|sed s/\"//g|sed 's/[a-z\.\/\-]*@sha256://') >> $GITHUB_OUTPUT
- name: Update data receiver project image version
run: |
sed -i 's/sha256: .*/sha256: ${{ steps.data-receiver-tag.outputs.DATA_RECIVER_IMAGE_SHA }}/g' ./charts/transport-management/charts/vehicle-data-receiver/values.yaml &&
git add ./charts/transport-management/charts/vehicle-data-receiver/values.yaml
- name: Resolve vehicle management service project docker image sha
id: vehicle-management-service-tag
run: |
docker pull ghcr.io/metatavu/vp-kuljetus-vehicle-management-service-api:latest &&
echo VEHICLE_MANAGEMENT_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-vehicle-management-service-api:latest|jq '.[].RepoDigests[0]'|sed s/\"//g|sed 's/[a-z\.\/\-]*@sha256://') >> $GITHUB_OUTPUT
- name: Update vehicle management service image version
run: |
sed -i 's/sha256: .*/sha256: ${{ steps.vehicle-management-service-tag.outputs.VEHICLE_MANAGEMENT_SERVICE_IMAGE_SHA }}/g' ./charts/transport-management/charts/vehicle-management-service/values.yaml &&
git add ./charts/transport-management/charts/vehicle-management-service/values.yaml
- name: Resolve work planning service project docker image sha
id: work-planning-service-tag
run: |
docker pull ghcr.io/metatavu/vp-kuljetus-work-planning-service-api:latest &&
echo WORK_PLANNING_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-work-planning-service-api:latest|jq '.[].RepoDigests[0]'|sed s/\"//g|sed 's/[a-z\.\/\-]*@sha256://') >> $GITHUB_OUTPUT
- name: Update work planning service image version
run: |
sed -i 's/sha256: .*/sha256: ${{ steps.work-planning-service-tag.outputs.WORK_PLANNING_SERVICE_IMAGE_SHA }}/g' ./charts/transport-management/charts/work-planning-service/values.yaml &&
git add ./charts/transport-management/charts/work-planning-service/values.yaml
- name: Resolve delivery info service project docker image sha
id: delivery-info-service-tag
run: |
docker pull ghcr.io/metatavu/vp-kuljetus-delivery-info-service-api:latest &&
echo DELIVERY_INFO_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-delivery-info-service-api:latest|jq '.[].RepoDigests[0]'|sed s/\"//g|sed 's/[a-z\.\/\-]*@sha256://') >> $GITHUB_OUTPUT
- name: Update delivery info service image version
run: |
sed -i 's/sha256: .*/sha256: ${{ steps.delivery-info-service-tag.outputs.DELIVERY_INFO_SERVICE_IMAGE_SHA }}/g' ./charts/transport-management/charts/delivery-info-service/values.yaml &&
git add ./charts/transport-management/charts/delivery-info-service/values.yaml
- name: Resolve user management service project docker image sha
id: user-management-service-tag
run: |
docker pull ghcr.io/metatavu/vp-kuljetus-user-management-service-api:latest &&
echo USER_MANAGEMENT_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-user-management-service-api:latest|jq '.[].RepoDigests[0]'|sed s/\"//g|sed 's/[a-z\.\/\-]*@sha256://') >> $GITHUB_OUTPUT
- name: Update user management service image version
run: |
sed -i 's/sha256: .*/sha256: ${{ steps.user-management-service-tag.outputs.USER_MANAGEMENT_SERVICE_IMAGE_SHA }}/g' ./charts/transport-management/charts/user-management-service/values.yaml &&
git add ./charts/transport-management/charts/user-management-service/values.yaml
- name: Commit changes
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git commit -m "Updated chart versions"
git checkout develop
git merge master
- name: Push version changes to develop
uses: ad-m/github-push-action@v0.6.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: develop
- name: Push version changes to master
uses: ad-m/github-push-action@v0.6.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: master
- name: Install Helm
uses: azure/setup-helm@v3
- name: Install Chart
uses: WyriHaximus/github-action-helm3@v3
with:
exec: |
echo "ingress:" > new-values.yaml &&
echo " annotations:" >> new-values.yaml &&
echo " cert-manager.io/cluster-issuer: ${{ secrets.K8S_CLUSTER_ISSUER }}" >> new-values.yaml &&
echo " ingress.kubernetes.io/force-ssl-redirect: \"true\"" >> new-values.yaml &&
echo " ingress.kubernetes.io/proxy-body-size: 150m" >> new-values.yaml &&
echo " kubernetes.io/ingress.class: nginx" >> new-values.yaml &&
echo " nginx.ingress.kubernetes.io/proxy-body-size: 150m" >> new-values.yaml &&
echo " nginx.org/client-max-body-size: 150m" >> new-values.yaml &&
echo " nginx.org/proxy-connect-timeout: 30s" >> new-values.yaml &&
echo " nginx.org/proxy-read-timeout: 30s" >> new-values.yaml &&
echo " labels:" >> new-values.yaml &&
echo " use-cloudflare-solver: \"true\"" >> new-values.yaml &&
echo " tls:" >> new-values.yaml &&
echo " secretName: ${{ secrets.K8S_TLS_SECRET_NAME }}" >> new-values.yaml &&
echo "tyk:" >> new-values.yaml &&
echo " hostname: ${{ secrets.TYK_HOSTNAME }}" >> new-values.yaml &&
echo "auth:" >> new-values.yaml &&
echo " hostname: ${{ secrets.AUTH_HOSTNAME }}" >> new-values.yaml &&
echo "vehicle-data-receiver:" >> new-values.yaml &&
echo " storage:" >> new-values.yaml &&
echo " size: ${{ secrets.K8S_DATA_RECEIVER_STORAGE_SIZE }}" >> new-values.yaml &&
echo " storageClass: ${{ secrets.K8S_DATA_RECEIVER_STORAGE_CLASS }}" >> new-values.yaml &&
helm upgrade transport-management ./charts/transport-management --namespace ${{ secrets.K8S_NAMESPACE }} -f new-values.yaml