-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Github action to build and release gateway frontend image (#2264)
* added optional inputs for gateway URL * added tag as input * added new action to release gw FE image * added new action to release gw FE image * fixed GHA to release gw FE image * triggering action * fixed action * renamed action * testing with existing gha * testing with existing gha * testing with existing gha * testing with existing gha * revert manual build and deploy gw frontend action * fixed image tag
- Loading branch information
1 parent
74821bf
commit 85a2e19
Showing
1 changed file
with
116 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
name: '[M] Build and Release Ten Gateway Frontend' | ||
run-name: '[M] Build and Release Frontend (${{ github.event.inputs.testnet_type }})' | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
testnet_type: | ||
description: "Testnet Type" | ||
required: true | ||
default: "dev-testnet" | ||
type: choice | ||
options: | ||
- "dev-testnet" | ||
- "uat-testnet" | ||
- "sepolia-testnet" | ||
instance_type: | ||
description: "Instance" | ||
required: true | ||
default: "primary" | ||
type: choice | ||
options: | ||
- "primary" | ||
- "dexynth" | ||
gateway_url: | ||
description: "Gateway URL (optional)" | ||
required: false | ||
tag: | ||
description: "Tag to build and push (leave empty for latest)" | ||
required: true | ||
default: '' | ||
|
||
jobs: | ||
build-and-release: | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: ${{ github.event.inputs.testnet_type }} | ||
steps: | ||
- name: "Set up environment variables" | ||
id: setup_env | ||
run: | | ||
INSTANCE_SUFFIX="" | ||
INSTANCE_PREFIX="" | ||
if [[ "${{ github.event.inputs.instance_type }}" != "primary" ]]; then | ||
INSTANCE_SUFFIX="-${{ github.event.inputs.instance_type }}" | ||
INSTANCE_PREFIX="${{ github.event.inputs.instance_type }}-" | ||
fi | ||
if [[ -z "${{ github.event.inputs.gateway_url }}" ]]; then | ||
GATEWAY_URL="${{ env.GATEWAY_URL }}" | ||
else | ||
GATEWAY_URL="${{ github.event.inputs.gateway_url }}" | ||
fi | ||
echo "INSTANCE_SUFFIX=$INSTANCE_SUFFIX" >> $GITHUB_ENV | ||
echo "INSTANCE_PREFIX=$INSTANCE_PREFIX" >> $GITHUB_ENV | ||
echo "GATEWAY_URL=$GATEWAY_URL" >> $GITHUB_ENV | ||
DNS_NAME_LABEL_GATEWAY_FE="${{ github.event.inputs.testnet_type }}-ten-gateway${INSTANCE_SUFFIX}" | ||
IMAGE_NAME_GATEWAY_FE="${{ github.event.inputs.testnet_type }}-fe-ten-gateway${INSTANCE_SUFFIX}" | ||
echo "DNS_NAME_LABEL_GATEWAY_FE=$DNS_NAME_LABEL_GATEWAY_FE" >> $GITHUB_ENV | ||
echo "IMAGE_NAME_GATEWAY_FE=$IMAGE_NAME_GATEWAY_FE" >> $GITHUB_ENV | ||
SANITIZED_TESTNET_TYPE=$(echo "${{ github.event.inputs.testnet_type }}" | tr '-' '_') | ||
IMAGE_NAME_GATEWAY_FE="obscuro_gateway_${SANITIZED_TESTNET_TYPE}_fe" | ||
echo "IMAGE_NAME_GATEWAY_FE=$IMAGE_NAME_GATEWAY_FE" >> $GITHUB_ENV | ||
- name: "Print GitHub variables" | ||
run: | | ||
echo "Selected Testnet Type: ${{ github.event.inputs.testnet_type }}" | ||
echo "Selected Instance Type: ${{ github.event.inputs.instance_type }}" | ||
echo "DNS_NAME_LABEL_GATEWAY_FE: $DNS_NAME_LABEL_GATEWAY_FE" | ||
echo "IMAGE_NAME_GATEWAY_FE: $IMAGE_NAME_GATEWAY_FE" | ||
echo "DOCKER_BUILD_TAG_GATEWAY_FE: $DOCKER_BUILD_TAG_GATEWAY_FE" | ||
echo "GATEWAY_URL: $GATEWAY_URL" | ||
echo "NETWORK_NAME: $NETWORK_NAME" | ||
echo "TENSCAN_URL: $TENSCAN_URL" | ||
- uses: actions/checkout@v4 | ||
|
||
- name: "Extract branch name" | ||
shell: bash | ||
run: | | ||
echo "Branch Name: ${GITHUB_REF_NAME}" | ||
echo "BRANCH_NAME=${GITHUB_REF_NAME}" >> $GITHUB_ENV | ||
- name: "Set up Docker" | ||
uses: docker/[email protected] | ||
|
||
- name: "Login to Azure docker registry" | ||
uses: azure/docker-login@v1 | ||
with: | ||
login-server: testnetobscuronet.azurecr.io | ||
username: testnetobscuronet | ||
password: ${{ secrets.REGISTRY_PASSWORD }} | ||
|
||
- name: "Login via Azure CLI" | ||
uses: azure/login@v1 | ||
with: | ||
creds: ${{ secrets.AZURE_CREDENTIALS }} | ||
|
||
- name: "Build and Push Docker Image" | ||
run: | | ||
VERSION="${{ github.event.inputs.tag }}" | ||
if [[ -z "$VERSION" ]]; then | ||
VERSION=$(git describe --tags `git rev-list --tags --max-count=1` || echo "latest") | ||
fi | ||
echo "VERSION=${VERSION}" | ||
DOCKER_BUILDKIT=1 docker build \ | ||
--build-arg NEXT_PUBLIC_NETWORK_NAME=${{ env.NETWORK_NAME }} \ | ||
--build-arg NEXT_PUBLIC_TENSCAN_URL=${{ env.TENSCAN_URL }} \ | ||
--build-arg NEXT_PUBLIC_GATEWAY_URL=${{ env.GATEWAY_URL }} \ | ||
-t testnetobscuronet.azurecr.io/obscuronet/${{ env.IMAGE_NAME_GATEWAY_FE }}:${VERSION} \ | ||
-f ./tools/walletextension/frontend/Dockerfile . | ||
docker push testnetobscuronet.azurecr.io/obscuronet/${{ env.IMAGE_NAME_GATEWAY_FE }}:${VERSION} |