Skip to content

Fetch the total t1 count from the eskimo to fix the discrepancies in welcome bonus amount #937

Fetch the total t1 count from the eskimo to fix the discrepancies in welcome bonus amount

Fetch the total t1 count from the eskimo to fix the discrepancies in welcome bonus amount #937

Workflow file for this run

# SPDX-License-Identifier: ice License 1.0
name: CI/CD
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
verify-licensing:
name: Verify Licensing
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Check License
run: make checkLicense
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
verify-latest-versions-used:
name: Verify Latest Versions
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Check If We're Up to Date with Everything
run: make checkModVersion checkIfAllDependenciesAreUpToDate
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
verify-auto-generated:
name: Verify Auto Generated
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Check Auto Generated Files
run: make checkGenerated
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
lint:
name: Lint
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
build:
name: Build
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Build all
run: make build-all@ci/cd
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
test:
name: Test
strategy:
matrix:
package: [ "miner", "coin-distribution", "extra-bonus-notifier", "tokenomics", "cmd/freezer", "cmd/freezer-refrigerant", "cmd/freezer-miner", "cmd/freezer-coin-distributer"]
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
# runs-on: self-hosted-ubuntu-latest-x64
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Test ${{ matrix.package }}
env:
SMS_CLIENT_USER: ${{ secrets.SMS_CLIENT_USER }}
SMS_CLIENT_PASSWORD: ${{ secrets.SMS_CLIENT_PASSWORD }}
EMAIL_CLIENT_APIKEY: ${{ secrets.EMAIL_CLIENT_APIKEY }}
PICTURE_STORAGE_ACCESS_KEY: ${{ secrets.PICTURE_STORAGE_ACCESS_KEY }}
INAPP_NOTIFICATIONS_CLIENT_KEY: ${{ secrets.INAPP_NOTIFICATIONS_CLIENT_KEY }}
INAPP_NOTIFICATIONS_CLIENT_SECRET: ${{ secrets.INAPP_NOTIFICATIONS_CLIENT_SECRET }}
INAPP_NOTIFICATIONS_CLIENT_APP_ID: ${{ secrets.INAPP_NOTIFICATIONS_CLIENT_APP_ID }}
TRANSLATIONS_CLIENT_APIKEY: ${{ secrets.TRANSLATIONS_CLIENT_APIKEY }}
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
GCP_FIREBASE_AUTH_API_KEY: ${{ secrets.GCP_FIREBASE_AUTH_API_KEY }}
run: |
cd ${{ matrix.package }}
make -f ${{ github.workspace }}/Makefile test@ci/cd
make -f ${{ github.workspace }}/Makefile coverage
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
freezer/${{ matrix.package }}
https://github.com/ice-blockchain/${{ github.event.repository.name }}
benchmark:
name: Benchmark
strategy:
matrix:
package: [ "miner", "coin-distribution", "extra-bonus-notifier", "tokenomics", "cmd/freezer", "cmd/freezer-refrigerant", "cmd/freezer-miner", "cmd/freezer-coin-distributer"]
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
# runs-on: self-hosted-ubuntu-latest-x64
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Benchmark ${{ matrix.package }}
env:
SMS_CLIENT_USER: ${{ secrets.SMS_CLIENT_USER }}
SMS_CLIENT_PASSWORD: ${{ secrets.SMS_CLIENT_PASSWORD }}
EMAIL_CLIENT_APIKEY: ${{ secrets.EMAIL_CLIENT_APIKEY }}
PICTURE_STORAGE_ACCESS_KEY: ${{ secrets.PICTURE_STORAGE_ACCESS_KEY }}
INAPP_NOTIFICATIONS_CLIENT_KEY: ${{ secrets.INAPP_NOTIFICATIONS_CLIENT_KEY }}
INAPP_NOTIFICATIONS_CLIENT_SECRET: ${{ secrets.INAPP_NOTIFICATIONS_CLIENT_SECRET }}
INAPP_NOTIFICATIONS_CLIENT_APP_ID: ${{ secrets.INAPP_NOTIFICATIONS_CLIENT_APP_ID }}
TRANSLATIONS_CLIENT_APIKEY: ${{ secrets.TRANSLATIONS_CLIENT_APIKEY }}
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
GCP_FIREBASE_AUTH_API_KEY: ${{ secrets.GCP_FIREBASE_AUTH_API_KEY }}
run: |
cd ${{ matrix.package }}
make -f ${{ github.workspace }}/Makefile benchmark@ci/cd
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
freezer/${{ matrix.package }}
https://github.com/ice-blockchain/${{ github.event.repository.name }}
dockerfile:
name: Verify Dockerfile
strategy:
matrix:
service: [ "freezer", "freezer-refrigerant", "freezer-miner", "freezer-coin-distributer"]
#those are not supported by golang docker image: linux/riscv64
#platforms: linux/s390x,linux/arm64,linux/amd64,linux/ppc64le
#commented because build takes too damn much with the other 3 platforms (~10 mins for each!!!) and we don`t need them atm
platform: ["linux/amd64"]
if: ${{ (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
# runs-on: self-hosted-ubuntu-latest-x64
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- id: buildx
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
install: true
- name: Build Image Information
id: build-image-info
env:
PR_NUMBER: ${{ github.event.number }}
SERVICE_NAME: ${{ matrix.service }}
run: |
echo "::set-output name=tags::registry.digitalocean.com/ice-io/$SERVICE_NAME:pr$PR_NUMBER"
echo "::set-output name=dockerFileLocation::./cmd/$SERVICE_NAME/Dockerfile"
- name: Build ${{ matrix.platform }} ${{ matrix.service }} docker image
uses: docker/build-push-action@v3
with:
context: .
file: ${{ steps.build-image-info.outputs.dockerFileLocation }}
platforms: ${{ matrix.platform }}
push: false
build-args: |
SERVICE_NAME=${{ matrix.service }}
tags: ${{ steps.build-image-info.outputs.tags }}
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
${{ matrix.service }}
PR:
needs: [verify-licensing, verify-latest-versions-used, verify-auto-generated, lint, build, test, benchmark, dockerfile]
name: PR
if: ${{ always() && (github.event_name == 'pull_request' && github.event.pull_request.draft == false) || github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Checking if all previous jobs were successful
env:
ALL_SUCCESSFUL: ${{ contains(join(needs.*.result, ','), 'failure') == false && contains(join(needs.*.result, ','), 'cancelled') == false && contains(join(needs.*.result, ','), 'skipped') == false }}
run: |
if [ $ALL_SUCCESSFUL == 'true' ]
then
exit 0
else
exit 1
fi
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
release:
needs: [PR]
name: Release
outputs:
nextTag: ${{ steps.check_tag.outputs.next_tag }}
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Build Artefacts
run: env GOOS=linux env GOARCH=amd64 make buildAllBinaries
- name: Compute new Tag version
id: compute_tag
uses: craig-day/compute-tag@v14
with:
github_token: ${{ github.token }}
version_type: minor
- id: check_tag
name: Check new computed Tag version
run: |
NEW_TAG_VERSION=$(echo "$NEW_TAG_VERSION" | sed 's/.\{2\}$//')
if [ $NEW_TAG_VERSION == 'v1.0.0' ]
then
echo "::set-output name=next_tag::$NEW_TAG_VERSION"
else
echo "::set-output name=next_tag::${NEW_TAG_VERSION}.0"
fi
env:
NEW_TAG_VERSION: ${{ steps.compute_tag.outputs.next_tag }}
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.check_tag.outputs.next_tag }}
draft: false
prerelease: false
fail_on_unmatched_files: true
make_latest: true
files: |
freezer.linux.amd64.bin
freezer-refrigerant.linux.amd64.bin
freezer-miner.linux.amd64.bin
freezer-coin-distributer.linux.amd64.bin
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://github.com/ice-blockchain/${{ github.event.repository.name }}
push_docker:
needs: [ release ]
name: Push Docker
strategy:
matrix:
service: [ "freezer", "freezer-refrigerant", "freezer-miner", "freezer-coin-distributer"]
#those are not supported by golang docker image: linux/riscv64
#platforms: linux/s390x,linux/arm64,linux/amd64,linux/ppc64le
#commented because build takes too damn much with the other 3 platforms (~10 mins for each!!!) and we don`t need them atm
platform: ["linux/amd64"]
outputs:
nextTag: ${{ steps.build-image-info.outputs.nextTag }}
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
# runs-on: self-hosted-ubuntu-latest-x64
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Find latest Go Version
id: findLatestGoVersion
run: |
LATEST_GO_VERSION=$(make latestGoVersion)
echo "::set-output name=latestGoVersion::$LATEST_GO_VERSION"
- name: Setup GO
uses: actions/setup-go@v5
with:
go-version: ${{ steps.findLatestGoVersion.outputs.latestGoVersion }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- id: buildx
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
version: latest
install: true
- name: Login to Digital Ocean Container Registry
uses: docker/login-action@v2
with:
registry: registry.digitalocean.com
username: ${{ secrets.DO_CONTAINER_REGISTRY_TOKEN }}
password: ${{ secrets.DO_CONTAINER_REGISTRY_TOKEN }}
- name: Build Image Information
id: build-image-info
env:
VERSION: ${{needs.release.outputs.nextTag}}
SERVICE_NAME: ${{ matrix.service }}
run: |
LATEST_TAG=registry.digitalocean.com/ice-io/$SERVICE_NAME:latest
NEXT_VERSION_TAG=registry.digitalocean.com/ice-io/$SERVICE_NAME:$VERSION
echo "::set-output name=nextTag::$VERSION"
echo "::set-output name=tags::${LATEST_TAG},${NEXT_VERSION_TAG}"
echo "::set-output name=dockerFileLocation::./cmd/$SERVICE_NAME/Dockerfile"
- name: Build ${{ matrix.platform }} ${{ matrix.service }} docker image
uses: docker/build-push-action@v3
with:
context: .
file: ${{ steps.build-image-info.outputs.dockerFileLocation }}
platforms: ${{ matrix.platform }}
push: true
build-args: |
SERVICE_NAME=${{ matrix.service }}
tags: ${{ steps.build-image-info.outputs.tags }}
- name: Slack Notification For Failure/Cancellation
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
${{ matrix.platform }} ${{ matrix.service }}
trigger_deployment:
needs: [ push_docker ]
name: Trigger Deployment
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- name: Setting ENV variables for deployment
run: |
echo "APP_TAG=${{needs.push_docker.outputs.nextTag}}" >> $GITHUB_ENV
- name: Checkout the target `master` branch of `secret-infrastructure`
uses: actions/checkout@v4
with:
repository: ice-blockchain/secret-infrastructure
ref: master
token: ${{ secrets.ICE_CI_CD_BOT_GH_PAT }}
path: secret-infrastructure
fetch-depth: 0
- name: Update [staging] application tag version in helm/freezer/staging/common-values.yaml
uses: mikefarah/yq@master
with:
cmd: |
cd secret-infrastructure
yq e -i '.generic-service-chart.applicationImage.tag = strenv(APP_TAG)' helm/freezer/staging/common-values.yaml
- name: Update [staging] application tag version in helm/freezer-refrigerant/staging/common-values.yaml
uses: mikefarah/yq@master
with:
cmd: |
cd secret-infrastructure
yq e -i '.generic-service-chart.applicationImage.tag = strenv(APP_TAG)' helm/freezer-refrigerant/staging/common-values.yaml
- name: Update [staging] application tag version in helm/freezer-miner/staging/common-values.yaml
uses: mikefarah/yq@master
with:
cmd: |
cd secret-infrastructure
yq e -i '.generic-service-chart.applicationImage.tag = strenv(APP_TAG)' helm/freezer-miner/staging/common-values.yaml
- name: Update [staging] application tag version in helm/freezer-coin-distributer/staging/common-values.yaml
uses: mikefarah/yq@master
with:
cmd: |
cd secret-infrastructure
yq e -i '.generic-service-chart.applicationImage.tag = strenv(APP_TAG)' helm/freezer-coin-distributer/staging/common-values.yaml
- name: Commit and Push Changes to Application Tag Version
run: |
cd secret-infrastructure
git config user.name "ice CI/CD Bot"
git config user.email [email protected]
git add helm/freezer/staging/common-values.yaml
git add helm/freezer-refrigerant/staging/common-values.yaml
git add helm/freezer-miner/staging/common-values.yaml
git add helm/freezer-coin-distributer/staging/common-values.yaml
git commit -m "Updated 'freezer' & 'freezer-refrigerant' & 'freezer-miner' & 'freezer-coin-distributer' tag version (${{env.APP_TAG}}) in application helm chart deployment manifests"
git push --set-upstream origin master
- name: Slack Notification For Success
if: ${{ success() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Succeeded, Waiting for Deployment Status Notification...
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':rocket:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://staging.r.api.ice.io/tokenomics/r
https://staging.w.api.ice.io/tokenomics/w
- name: Slack Notification For Failure
if: ${{ github.event_name == 'push' && (failure() || cancelled()) }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.BACKEND_SLACK_WEBHOOK }}
SLACK_TITLE: CI Failed> ${{ job.status }}
SLACK_USERNAME: ${{ github.event.repository.name }}-ci-bot
SLACK_ICON: https://avatars.githubusercontent.com/u/102382658?s=400&u=62e73f4cb845c48a07a19e03c6f84b721e40c0a6&v=4
SLACK_ICON_EMOJI: ':sob:'
SLACK_COLOR: ${{ job.status }}
SLACK_FOOTER: |
https://staging.r.api.ice.io/tokenomics/r
https://staging.w.api.ice.io/tokenomics/w