update-staging #191
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: | |
- develop | |
repository_dispatch: | |
types: | |
- update-staging | |
jobs: | |
release: | |
environment: develop | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Checkout latest spec | |
run: | | |
git submodule set-branch --branch develop 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: 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:develop && | |
echo AUTH_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-transport-management-keycloak:develop|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:develop && | |
echo DATA_RECIVER_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-vehicle-data-receiver:develop|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:develop && | |
echo VEHICLE_MANAGEMENT_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-vehicle-management-service-api:develop|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:develop && | |
echo WORK_PLANNING_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-work-planning-service-api:develop|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:develop && | |
echo DELIVERY_INFO_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-delivery-info-service-api:develop|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:develop && | |
echo USER_MANAGEMENT_SERVICE_IMAGE_SHA=$(docker inspect ghcr.io/metatavu/vp-kuljetus-user-management-service-api:develop|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 --allow-empty -m "Updated chart versions" | |
- name: Push version changes to develop | |
uses: ad-m/github-push-action@v0.6.0 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
branch: develop | |
- name: Configure AWS credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
- name: Update kube config | |
run: aws eks update-kubeconfig --name ${{ secrets.EKS_CLUSTER_NAME }} --region ${{ secrets.AWS_REGION }} | |
- 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 |