refs/tags/v0.1.114~cong-tesosoft #136
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: 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\" \ | |
} \ | |
}" |