wip: maestro deployment model #3102
Workflow file for this run
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: 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 |