Release Charts #26
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: 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: Release Main Chart | |
uses: helm/chart-releaser-action@v1.6.0 | |
env: | |
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
with: | |
mark_as_latest: true |