Skip to content

refs/tags/v0.1.114~cong-tesosoft #136

refs/tags/v0.1.114~cong-tesosoft

refs/tags/v0.1.114~cong-tesosoft #136

Workflow file for this run

name: vtd tag
on:
repository_dispatch:
types:
- vtd-trigger
- refs/tags/v**
env:
REF_NAME: ${{ github.event.client_payload.ref_name}}
TAG_NAME: ${{ github.event.client_payload.tag_name}}
TRIGGERING_ACTOR: ${{ github.event.client_payload.triggering_actor}}
jobs:
build-and-check:
name: ${{ matrix.name }}
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
matrix:
include: ${{ fromJson(vars.STRATEGY_MATRIX_SERVICES) }}
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
repository: ${{ secrets.VTD_REPOSITORY_SOURCE }}
token: ${{ secrets.GH_PAT }}
ref: ${{ env.TAG_NAME }}
path: source
- name: Checkout target
uses: actions/checkout@v4
with:
repository: ${{ secrets.VTD_REPOSITORY_TARGET }}${{ matrix.service }}
token: ${{ secrets.GH_PAT }}
ref: ${{ env.REF_NAME }}
path: target
- name: Clone properties file
uses: actions/checkout@v4
with:
repository: ${{ secrets.VTD_REPOSITORY_ENV }}
token: ${{ secrets.GH_PAT }}
path: env
- name: Connect to VPN
uses: Boostport/setup-cloudflare-warp@v1
with:
organization: tesoglobal
auth_client_id: ${{ secrets.CF_ACCESS_CLIENT_ID }}
auth_client_secret: ${{ secrets.CF_ACCESS_CLIENT_SECRET }}
- name: Switch profile
run: |
sed -i "s|spring.profiles.active=local|spring.profiles.active=ci|g" source/src/main/resources/application.properties
mv env/v4-java/application-ci.properties source/src/main/resources/application-ci.properties
- name: Setup java 21
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "21"
- name: Remove the rest code
run: |
mkdir code_temp
mv -v source/${{ secrets.SERVICE_PACKAGE_PATH }}/* code_temp
mv code_temp/main source/${{ secrets.SERVICE_PACKAGE_PATH }}/
mv code_temp/auth source/${{ secrets.SERVICE_PACKAGE_PATH }}/
mv code_temp/zoo source/${{ secrets.SERVICE_PACKAGE_PATH }}/
mv code_temp/Application.java source/${{ secrets.SERVICE_PACKAGE_PATH }}/
mv code_temp/ConfigProperties.java source/${{ secrets.SERVICE_PACKAGE_PATH }}/
mv code_temp/${{ matrix.service }} source/${{ secrets.SERVICE_PACKAGE_PATH }}/
- name: cleanup dbchange
run: |
mkdir dbchange_temp
mv -v source/src/main/resources/dbchange/* dbchange_temp
mv dbchange_temp/${{ matrix.service }} source/src/main/resources/dbchange/
- name: Remove the rest overlays
run: |
mkdir overlay_temp
mv -v source/overlays/* overlay_temp
mv overlay_temp/${{ matrix.service }} source/overlays/
- name: Change micro.service.context-path
working-directory: source
run: perl -i -pe "s/^micro.service.context-path=\/api/'micro.service.context-path=${{ matrix.path }}'/e" src/main/resources/application.properties
- name: Build and package project
working-directory: source
run: mvn -f pom.xml clean install package -DskipTests -q
- name: Move code to the result
run: |
mkdir result
mv target/.git result/
rm -rf source/.git
shopt -s dotglob
mv -v source/* result/
sed -i "s|spring.profiles.active=ci|spring.profiles.active=local|g" result/src/main/resources/application.properties
- name: Push result
working-directory: result
run: |
git config user.name "GitHub Actions" --local
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" --local
git add -A
git diff-index --quiet HEAD || git commit -m ':white_check_mark: update code'
git push origin ${{ env.REF_NAME }} -f
git tag -a ${{ env.TAG_NAME }} -m 'Bump version to ${{ env.TAG_NAME }}'
git push origin ${{ env.TAG_NAME }}
- name: Trigger build ${{ matrix.service }}
working-directory: result
run: |
TRIGGERING_ACTOR=${{ env.TRIGGERING_ACTOR }}
TRIGGERING_REF=${{ env.REF_NAME }}
TRIGGERING_SERVICE_NAME=${{ matrix.service }}
TRIGGERING_REPOSITORY=${{ secrets.VTD_REPOSITORY_TARGET }}${{ matrix.service }}
TRIGGERING_ENV=prd
TRIGHERING_HASH=$(git rev-parse HEAD)
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.LIBERTY_PPAP_PAT }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/VitaDairy/vtd-be-ppap/dispatches \
-d "{ \
\"event_type\": \"vtd-be-java-${{ matrix.service }}/refs/tags/$TAG_NAME~$TRIGGERING_ACTOR\", \
\"client_payload\": { \
\"triggering_actor\": \"$TRIGGERING_ACTOR\", \
\"triggering_ref\": \"$TRIGGERING_REF\", \
\"triggering_service_name\": \"$TRIGGERING_SERVICE_NAME\", \
\"triggering_repo\": \"$TRIGGERING_REPOSITORY\", \
\"triggering_env\": \"$TRIGGERING_ENV\", \
\"triggering_version\": \"$TAG_NAME\", \
\"triggering_hash\": \"$TRIGHERING_HASH\" \
} \
}"