Skip to content

Portal Bridge [Release] #103

Portal Bridge [Release]

Portal Bridge [Release] #103

Workflow file for this run

name: Portal Bridge [Release]
on:
workflow_dispatch:
jobs:
# cctp:
# name: "Build USDC Bridge (CCTP)"
# runs-on: "ubuntu-latest"
# concurrency:
# group: ${{ github.ref }}-cctp-release
# cancel-in-progress: true
# environment: Cloudflare-Page-Deploy
# steps:
# - name: Checkout repository
# uses: actions/checkout@v3
# with:
# repository: xlabs/usdc-bridge
# ref: main
# - name: Set up Node environment
# uses: actions/setup-node@v3
# with:
# node-version: v16.19.1
# - name: Install dependencies
# run: npm ci
# - name: Set Version
# run: |
# echo "_BRANCH_NAME_SHA=$(echo ${{ github.event.pull_request.head.ref }} | sha256sum | cut -c -10)" >> "${GITHUB_ENV}"
# - name: Build
# env:
# DEPLOY: "true"
# NEXT_PUBLIC_NETWORK: ${{ vars.REACT_APP_CLUSTER }}
# NEXT_PUBLIC_BASE_PATH: "/usdc-bridge"
# run: npm run build
# - name: Upload Artifact
# uses: actions/upload-artifact@v3
# with:
# name: release-stable-bridge
# path: out
docs:
name: "Build Portal Bridge Documentation"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-portal-docs-preview
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v16.19.1
- name: Install dependencies
run: |
pushd docs
npm ci
- name: Set Version
run: |
echo "_BRANCH_NAME_SHA=$(echo ${{ github.event.pull_request.head.ref }} | sha256sum | cut -c -10)" >> "${GITHUB_ENV}"
- name: Build
run: |
pushd docs
npm run build
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: docs-release-build
path: docs/build
portal:
name: "Build Portal Bridge"
runs-on: xlabs-large-runner
concurrency:
group: ${{ github.ref }}-portal-release
cancel-in-progress: true
permissions:
contents: read
packages: write
environment: Cloudflare-Page-Deploy
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
registry-url: https://npm.pkg.github.com
- name: Cache Node modules
id: cache-npm
uses: actions/cache@v3
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: npm install
- name: Build
env:
NODE_OPTIONS: "--max-old-space-size=10240"
REACT_APP_CLUSTER: ${{ vars.REACT_APP_CLUSTER }}
REACT_APP_SOLANA_API_URL: ${{ vars.REACT_APP_SOLANA_API_URL }}
REACT_APP_COVALENT_API_KEY: ${{ secrets.REACT_APP_COVALENT_API_KEY }}
REACT_APP_TRM_API_KEY: ${{ secrets.REACT_APP_TRM_API_KEY }}
REACT_APP_WALLET_CONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLET_CONNECT_PROJECT_ID }}
run: |
echo 'REACT_APP_VERSION=$npm_package_version' > .env
npm run build
cd build
npm run set-version
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: release-portal-bridge
path: build
publish:
name: "Publish"
needs:
- portal
#- cctp
- docs
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-publish-release
cancel-in-progress: true
permissions:
contents: read
packages: write
steps:
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: release-portal-bridge
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: docs-release-build
path: docs
# - name: Download Artifact
# uses: actions/download-artifact@v3
# with:
# name: release-stable-bridge
# path: usdc-bridge
- name: Set up GitHub NPM registry
uses: actions/setup-node@v3
with:
node-version: v18.17.1
registry-url: https://npm.pkg.github.com
- name: Publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm publish
deploy:
name: Trigger Production Deploy
runs-on: ubuntu-latest
concurrency:
group: ${{ github.ref }}-deploy-release
cancel-in-progress: true
needs: publish
environment: Cloudflare-Page-Deploy
steps:
- name: Wait package publish to impact
run: sleep 60s
shell: bash
- name: Trigger deploy
env:
DEPLOY_HOOK_URL: ${{ secrets.DEPLOY_HOOK_URL }}
run: curl -X POST ${DEPLOY_HOOK_URL}