Skip to content

fix(maestro): adding test cases and fixes logic for handling events #3151

fix(maestro): adding test cases and fixes logic for handling events

fix(maestro): adding test cases and fixes logic for handling events #3151

Workflow file for this run

name: Check PR and Update Develop
on:
workflow_dispatch:
inputs:
pktvisor_tag:
description: 'pktvisor agent docker tag to package'
required: true
pull_request:
branches: [ develop ]
push:
branches: [ develop ]
jobs:
prebuild:
runs-on: ubuntu-latest
outputs:
agent: ${{ steps.filter.outputs.agent }}
orb: ${{ steps.filter.outputs.orb }}
migrate: ${{ steps.filter.outputs.migrate }}
ui: ${{ steps.filter.outputs.ui }}
docs: ${{ steps.filter.outputs.docs }}
VERSION: ${{ env.VERSION }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
migrate:
- 'migrate/**'
- 'cmd/migrate/**'
agent:
- 'agent/**'
- 'cmd/agent/**'
orb:
- 'fleet/**'
- 'cmd/fleet/**'
- 'policies/**'
- 'cmd/policies/**'
- 'sinks/**'
- 'cmd/sinks/**'
- 'sinker/**'
- 'cmd/sinker/**'
- 'maestro/**'
- 'cmd/maestro/**'
ui:
- 'ui/**'
docs:
- 'fleet/api/http/openapi.yaml'
- 'sinks/api/http/openapi.yaml'
- 'policies/api/openapi.yaml'
- name: Set branch name
shell: bash
run: |
echo "BRANCH_NAME=develop" >> $GITHUB_ENV
- name: Generate ref tag (develop)
run: |
echo "REF_TAG=develop" >> $GITHUB_ENV
- name: Append suffix on VERSION file for develop build
run: |
echo "`cat ${{github.workspace}}/VERSION`-${{ env.REF_TAG }}" > VERSION
- name: Get VERSION
run: |
echo "VERSION=`cat ${{github.workspace}}/VERSION`" >> $GITHUB_ENV
- name: Debug VERSION
run: echo ${{ env.VERSION }}
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
go-report:
needs: prebuild
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
name: workspace
- name: Run go report
uses: ./.github/actions/go-report
with:
go_report_threshold: 90.1 #grade A+
github_token: ${{ secrets.GH_ORB_ACCESS_TOKEN }}
github_owner: orb-community
github_repo: orb
- name: refresh go-report
uses: creekorful/[email protected]
update-api-docs:
needs: prebuild
runs-on: ubuntu-latest
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v2
if: ${{ needs.prebuild.outputs.docs == 'true' && github.event_name != 'pull_request' }}
with:
token: ${{ secrets.GH_ORB_ACCESS_TOKEN }}
repository: orb-community/orb-website
event-type: build-docs
client-payload: '{"branch_name": "main"}'
test-agent:
runs-on: ubuntu-latest
needs: prebuild
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Go unit tests
if: ${{ needs.prebuild.outputs.agent == 'true' || github.event_name != 'pull_request' }}
run: |
SERVICE=agent make test_service_cov
- name: Install dependencies
if: ${{ needs.prebuild.outputs.agent == 'true' || github.event_name != 'pull_request' }}
run: |
go mod tidy
sudo apt update && sudo apt install -y build-essential jq
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: coverage to xml
if: ${{ needs.prebuild.outputs.agent == 'true' || github.event_name != 'pull_request' }}
run: |
echo "Current directory: ${PWD}"
echo "GITHUB_PR_ISSUE_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" >> $GITHUB_ENV
gocov convert ./coverage.out | gocov-xml > ./coverage.xml
- name: Upload coverage to Codecov
if: ${{ needs.prebuild.outputs.agent == 'true' || github.event_name != 'pull_request' }}
uses: codecov/codecov-action@v3
with:
version: "v0.1.15"
files: coverage.xml
name: orb
verbose: true
test-fleet:
runs-on: ubuntu-latest
needs: prebuild
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Go unit tests
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
SERVICE=fleet make test_service_cov
- name: Install dependencies
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
go mod tidy
sudo apt update && sudo apt install -y build-essential jq
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: coverage to xml
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
echo "Current directory: ${PWD}"
echo "GITHUB_PR_ISSUE_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" >> $GITHUB_ENV
gocov convert ./coverage.out | gocov-xml > ./coverage.xml
- name: Upload coverage to Codecov
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
uses: codecov/codecov-action@v3
with:
version: "v0.1.15"
files: coverage.xml
name: orb
verbose: true
test-policies:
runs-on: ubuntu-latest
needs: prebuild
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Go unit tests
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
SERVICE=policies make test_service_cov
- name: Install dependencies
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
go mod tidy
sudo apt update && sudo apt install -y build-essential jq
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: coverage to xml
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
echo "Current directory: ${PWD}"
echo "GITHUB_PR_ISSUE_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" >> $GITHUB_ENV
gocov convert ./coverage.out | gocov-xml > ./coverage.xml
- name: Upload coverage to Codecov
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
uses: codecov/codecov-action@v3
with:
version: "v0.1.15"
files: coverage.xml
name: orb
verbose: true
test-sinks:
runs-on: ubuntu-latest
needs: prebuild
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Go unit tests
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
SERVICE=sinks make test_service_cov
- name: Install dependencies
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
go mod tidy
sudo apt update && sudo apt install -y build-essential jq
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: coverage to xml
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
echo "Current directory: ${PWD}"
echo "GITHUB_PR_ISSUE_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" >> $GITHUB_ENV
gocov convert ./coverage.out | gocov-xml > ./coverage.xml
- name: Upload coverage to Codecov
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
uses: codecov/codecov-action@v3
with:
version: "v0.1.15"
files: coverage.xml
name: orb
verbose: true
test-sinker:
runs-on: ubuntu-latest
needs: prebuild
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Go unit tests
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
SERVICE=sinker make test_service_cov
- name: Install dependencies
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
go mod tidy
sudo apt update && sudo apt install -y build-essential jq
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: coverage to xml
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
echo "Current directory: ${PWD}"
echo "GITHUB_PR_ISSUE_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" >> $GITHUB_ENV
gocov convert ./coverage.out | gocov-xml > ./coverage.xml
- name: Upload coverage to Codecov
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
uses: codecov/codecov-action@v3
with:
version: "v0.1.15"
files: coverage.xml
name: orb
verbose: true
test-maestro:
runs-on: ubuntu-latest
needs: prebuild
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Go unit tests
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
SERVICE=maestro make test_service_cov
- name: Install dependencies
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
go mod tidy
sudo apt update && sudo apt install -y build-essential jq
go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
- name: coverage to xml
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
run: |
echo "Current directory: ${PWD}"
echo "GITHUB_PR_ISSUE_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" >> $GITHUB_ENV
gocov convert ./coverage.out | gocov-xml > ./coverage.xml
- name: Upload coverage to Codecov
if: ${{ needs.prebuild.outputs.orb == 'true' || github.event_name != 'pull_request' }}
uses: codecov/codecov-action@v3
with:
version: "v0.1.15"
files: coverage.xml
name: orb
verbose: true
package-agent:
needs:
- prebuild
- test-agent
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Replace crashpad and geo-db params
run: |
ESCAPED_REPLACE_LINE1_NEW=$(printf '%s\n' "pvOptions = append(pvOptions, \"--cp-token\", \"${{ secrets.CRASHPAD_TOKEN }}\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE2_NEW=$(printf '%s\n' "pvOptions = append(pvOptions, \"--cp-url\", \"${{ secrets.CRASHPAD_URL }}\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE3_NEW=$(printf '%s\n' "pvOptions = append(pvOptions, \"--cp-path\", \"/usr/local/sbin/crashpad_handler\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE4_NEW=$(printf '%s\n' "pvOptions = append(pvOptions, \"--default-geo-city\", \"/geo-db/city.mmdb\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE5_NEW=$(printf '%s\n' "pvOptions = append(pvOptions, \"--default-geo-asn\", \"/geo-db/asn.mmdb\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE6_NEW=$(printf '%s\n' "pvOptions = append(pvOptions, \"--default-service-registry\", \"/iana/custom-iana.csv\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE1_OLD=$(printf '%s\n' "// pvOptions = append(pvOptions, \"--cp-token\", PKTVISOR_CP_TOKEN)" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE2_OLD=$(printf '%s\n' "// pvOptions = append(pvOptions, \"--cp-url\", PKTVISOR_CP_URL)" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE3_OLD=$(printf '%s\n' "// pvOptions = append(pvOptions, \"--cp-path\", PKTVISOR_CP_PATH)" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE4_OLD=$(printf '%s\n' "// pvOptions = append(pvOptions, \"--default-geo-city\", \"/geo-db/city.mmdb\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE5_OLD=$(printf '%s\n' "// pvOptions = append(pvOptions, \"--default-geo-asn\", \"/geo-db/asn.mmdb\")" | sed -e 's/[\/&]/\\&/g')
ESCAPED_REPLACE_LINE6_OLD=$(printf '%s\n' "// pvOptions = append(pvOptions, \"--default-service-registry\", \"/iana/custom-iana.csv\")" | sed -e 's/[\/&]/\\&/g')
sed -i -e "s/$ESCAPED_REPLACE_LINE1_OLD/$ESCAPED_REPLACE_LINE1_NEW/g" agent/backend/pktvisor/pktvisor.go
sed -i -e "s/$ESCAPED_REPLACE_LINE2_OLD/$ESCAPED_REPLACE_LINE2_NEW/g" agent/backend/pktvisor/pktvisor.go
sed -i -e "s/$ESCAPED_REPLACE_LINE3_OLD/$ESCAPED_REPLACE_LINE3_NEW/g" agent/backend/pktvisor/pktvisor.go
sed -i -e "s/$ESCAPED_REPLACE_LINE4_OLD/$ESCAPED_REPLACE_LINE4_NEW/g" agent/backend/pktvisor/pktvisor.go
sed -i -e "s/$ESCAPED_REPLACE_LINE5_OLD/$ESCAPED_REPLACE_LINE5_NEW/g" agent/backend/pktvisor/pktvisor.go
sed -i -e "s/$ESCAPED_REPLACE_LINE6_OLD/$ESCAPED_REPLACE_LINE6_NEW/g" agent/backend/pktvisor/pktvisor.go
- name: Build orb-agent
shell: bash
run: |
if [ "${{ github.event.inputs.pktvisor_tag }}" == "" ]; then
make agent
make agent_debug
else
PKTVISOR_TAG=${{ github.event.inputs.pktvisor_tag }} make agent
PKTVISOR_TAG=${{ github.event.inputs.pktvisor_tag }} make agent_debug
fi
- name: Login to Docker Hub orbcommunity
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push agent container orbcommunity
if: github.event_name != 'pull_request'
run: docker push -a orbcommunity/orb-agent
package-fleet:
needs:
- prebuild
- test-fleet
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Build service containers
run: SERVICE=fleet make build_docker
- name: Login to Docker Hub orbcommunity
uses: docker/login-action@v2
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push service containers orbcommunity
if: github.event_name != 'pull_request'
run: docker push -a orbcommunity/orb-fleet
package-policies:
needs:
- prebuild
- test-policies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Build service containers
run: SERVICE=policies make build_docker
- name: Login to Docker Hub orbcommunity
uses: docker/login-action@v2
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push service containers orbcommunity
if: github.event_name != 'pull_request'
run: docker push -a orbcommunity/orb-policies
package-sinker:
needs:
- prebuild
- test-sinker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Build service containers
run: SERVICE=sinker make build_docker
- name: Login to Docker Hub orbcommunity
uses: docker/login-action@v2
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push service containers orbcommunity
if: github.event_name != 'pull_request'
run: docker push -a orbcommunity/orb-sinker
package-sinks:
needs:
- prebuild
- test-sinks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Build service containers
run: SERVICE=sinks make build_docker
- name: Login to Docker Hub orbcommunity
uses: docker/login-action@v2
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push service containers orbcommunity
if: github.event_name != 'pull_request'
run: docker push -a orbcommunity/orb-sinks
package-maestro:
needs:
- prebuild
- test-maestro
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Build service containers
run: SERVICE=maestro make build_docker
- name: Login to Docker Hub orbcommunity
uses: docker/login-action@v2
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push service containers orbcommunity
if: github.event_name != 'pull_request'
run: docker push -a orbcommunity/orb-maestro
package-ui-dependencies:
needs:
- prebuild
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
yarn:
ui/package.json
- name: Build orb yarn image
if: ${{ steps.filter.outputs.yarn == 'true' }}
run: |
make ui-modules
- name: Login to Docker Hub orbcommunity
if: ${{ steps.filter.outputs.yarn == 'true' }}
uses: docker/login-action@v2
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push ui image orbcommunity
if: ${{ steps.filter.outputs.yarn == 'true' }}
run: |
docker push -a orbcommunity/orb-ui-modules
package-ui:
needs:
- prebuild
- package-ui-dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Build orb-ui
run: |
make ui
- name: Commit orb-ui-live on orb-live repo develop
if: github.event_name != 'pull_request'
run: |
git config --global user.email "${{secrets.GH_ORB_EMAIL}}"
git config --global user.name "${{secrets.GH_ORB_USER}}"
git config --global credential.helper cache
git clone -b develop https://${{secrets.GH_ORB_USER}}:${{secrets.GH_ORB_ACCESS_TOKEN}}@${{secrets.ORB_UI_REPO_URL}}
cd orb-live
rm -rf ui
git add .
git commit -m "[NS1 Orb Bot] clean ui folder"
cp -rf ../ui .
cp -rf ../VERSION .
echo "${{ steps.commit_hash.outputs.sha_short }}" > COMMIT_HASH
git add .
git commit -m "[NS1 Orb Bot] Update Orb Live UI for develop"
git push origin develop
- name: Login to Docker Hub orbcommunity
uses: docker/login-action@v2
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push ui container orbcommunity
if: github.event_name != 'pull_request'
run: |
docker push -a orbcommunity/orb-ui
package-migrate:
needs:
- package-ui-dependencies
- package-ui
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build orb migrate service image
if: ${{ needs.prebuild.outputs.migrate == 'true' }}
run: |
SERVICE=migrate make build_docker
- name: Login to Docker Hub orbcommunity
if: ${{ needs.prebuild.outputs.migrate == 'true' }}
uses: docker/login-action@v2
with:
username: ${{ secrets.ORB_DOCKERHUB_USERNAME }}
password: ${{ secrets.ORB_DOCKERHUB_TOKEN }}
- name: Push orb migrate service image orbcommunity
if: ${{ needs.prebuild.outputs.migrate == 'true' }}
run: |
docker push -a orbcommunity/orb-migrate
publish-orb-live-stg:
needs:
- prebuild
- package-fleet
- package-policies
- package-sinker
- package-sinks
- package-ui
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v3
- name: Debug values
run: |
echo ${{ needs.prebuild.outputs.VERSION }}
echo ${{ github.event.inputs.pktvisor_tag }}
env:
VERSION: ${{ needs.prebuild.env.VERSION }}
- name: Get short commit hash to a variable
id: commit_hash
run: |
echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
echo ${{ needs.prebuild.outputs.VERSION }} > VERSION
- name: Commit image tag on orb-live-manifest environment dev
run: |
git config --global user.email "${{secrets.GH_ORB_EMAIL}}"
git config --global user.name "${{secrets.GH_ORB_USER}}"
git config --global credential.helper cache
git clone https://${{secrets.GH_ORB_USER}}:${{secrets.GH_ORB_ACCESS_TOKEN}}@${{secrets.ORB_MANIFEST_REPO_URL}}
cd orb-live-manifest/stg
mv values.yaml .template/values.old
cat .template/values.yaml.tpl >> values.yaml
sed -i -e "s/IMAGE_TAG/${{ needs.prebuild.outputs.VERSION }}-${{ steps.commit_hash.outputs.sha_short }}/g" values.yaml
git add values.yaml
git add .template/values.old
git commit -m "[NS1 Orb Bot] Update image tag on stg environment"
git push origin main