From bb5558713b5bbf8cef478a49bcc2ccbe5f9a9784 Mon Sep 17 00:00:00 2001 From: Ted Ian Osias Date: Thu, 3 Oct 2024 21:52:40 +0800 Subject: [PATCH] ci: multiplee docker builds --- .github/workflows/ghcr.yaml | 40 +++++++++++++++---- components/Bridge/NEVMStepWrapepr.tsx | 5 +-- .../ConnectValidate/StartTransferButton.tsx | 3 +- components/Bridge/UTXOStepWrapper.tsx | 4 +- components/Bridge/hooks/useFeatureFlags.ts | 2 - constants.ts | 5 +-- contexts/PaliWallet/V2Provider.tsx | 9 ++--- contexts/Transfer/constants.ts | 8 ++-- 8 files changed, 45 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ghcr.yaml b/.github/workflows/ghcr.yaml index 46584c7..41376d0 100644 --- a/.github/workflows/ghcr.yaml +++ b/.github/workflows/ghcr.yaml @@ -3,30 +3,49 @@ name: Github Image Build and Push on: push: branches: - - 'main' - - 'testnet-support' + - "main" + - "testnet-support" jobs: docker: - # i f: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' permissions: contents: read packages: write runs-on: ubuntu-latest + strategy: + matrix: + network: + - mainnet + - testnet steps: - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + + - name: Set environment variables + run: | + if [ "${{ matrix.network }}" == "mainnet" ]; then + echo "NEXT_PUBLIC_NEVM_RPC_URL=https://rpc.syscoin.org" >> $GITHUB_ENV + echo "NEXT_PUBLIC_IS_TESTNET=false" >> $GITHUB_ENV + echo "NEXT_PUBLIC_NEVM_EXPLORER_URL=https://explorer.syscoin.org" >> $GITHUB_ENV + echo "NEXT_PUBLIC_CHAIN_ID=57" >> $GITHUB_ENV + echo "NEXT_PUBLIC_BLOCKBOOK_API_URL=https://blockbook.syscoin.org" >> $GITHUB_ENV + elif [ "${{ matrix.network }}" == "testnet" ]; then + echo "NEXT_PUBLIC_NEVM_RPC_URL=https://rpc.tanenbaum.io" >> $GITHUB_ENV + echo "NEXT_PUBLIC_IS_TESTNET=true" >> $GITHUB_ENV + echo "NEXT_PUBLIC_NEVM_EXPLORER_URL=https://tanenbaum.io" >> $GITHUB_ENV + echo "NEXT_PUBLIC_CHAIN_ID=5700" >> $GITHUB_ENV + echo "NEXT_PUBLIC_BLOCKBOOK_API_URL=https://blockbook-dev.syscoin.org" >> $GITHUB_ENV + fi + - name: Docker meta id: meta uses: docker/metadata-action@v4 with: - # list of Docker images to use as base name for tags images: | - ghcr.io/syscoin/syscoin-bridge - # generate Docker tags based on the following events/attributes + ghcr.io/syscoin/syscoin-bridge-${{ matrix.network }} tags: | type=schedule type=ref,event=branch @@ -35,6 +54,7 @@ jobs: type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}} type=sha + - name: Login to GitHub Container Registry uses: docker/login-action@v2 with: @@ -45,9 +65,16 @@ jobs: - name: Build and push uses: docker/build-push-action@v4 with: + context: . push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + build-args: | + NEXT_PUBLIC_NEVM_RPC_URL=$NEXT_PUBLIC_NEVM_RPC_URL + NEXT_PUBLIC_IS_TESTNET=$NEXT_PUBLIC_IS_TESTNET + NEXT_PUBLIC_NEVM_EXPLORER_URL=$NEXT_PUBLIC_NEVM_EXPLORER_URL + NEXT_PUBLIC_CHAIN_ID=$NEXT_PUBLIC_CHAIN_ID + NEXT_PUBLIC_BLOCKBOOK_API_URL=$NEXT_PUBLIC_BLOCKBOOK_API_URL - name: Write metadata run: "cp $DOCKER_METADATA_OUTPUT_BAKE_FILE metadata.json" @@ -57,4 +84,3 @@ jobs: with: name: metadata path: metadata.json - diff --git a/components/Bridge/NEVMStepWrapepr.tsx b/components/Bridge/NEVMStepWrapepr.tsx index 4ac02be..fbe6423 100644 --- a/components/Bridge/NEVMStepWrapepr.tsx +++ b/components/Bridge/NEVMStepWrapepr.tsx @@ -2,7 +2,7 @@ import { useNEVM } from "@contexts/ConnectedWallet/NEVMProvider"; import { usePaliWalletV2 } from "@contexts/PaliWallet/usePaliWallet"; import { Button } from "@mui/material"; import { isValidEthereumAddress } from "@pollum-io/sysweb3-utils"; -import { useFeatureFlags } from "./hooks/useFeatureFlags"; +import { CHAIN_ID } from "@constants"; type Props = { children: React.ReactNode; @@ -11,7 +11,6 @@ type Props = { const NEVMStepWrapper: React.FC = ({ children }) => { const { version, isBitcoinBased, switchTo, isEVMInjected, connectWallet } = usePaliWalletV2(); - const { chainId: expectedChainId } = useFeatureFlags(); const { connect, account, chainId, switchToMainnet } = useNEVM(); @@ -35,7 +34,7 @@ const NEVMStepWrapper: React.FC = ({ children }) => { ); } - if (chainId !== `0x${Number(expectedChainId).toString(16)}`) { + if (chainId !== `0x${Number(CHAIN_ID).toString(16)}`) { return (