Skip to content

add w bridge

add w bridge #1

Workflow file for this run

name: Build Non Prod
on:
workflow_call:
inputs:
name:
type: string
required: true
separator:
type: string
# connect-branch:
# type: string
# required: true
# default: development
advanced-tools-branch:
type: string
required: true
default: main
environment:
type: string
required: true
default: Cloudflare-Preview
public-url:
type: string
app-domain:
type: string
default: "portalbridge.com"
wac-url:
type: string
default: "https://wac.staging.gfx.town"
project-branch:
type: string
default: main
outputs:
pkg-version:
description: "NPM Package Version"
value: ${{ jobs.token-bridge.outputs.pkg-version }}
jobs:
docs:
name: "Documentation"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-docs
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ inputs.project-branch }}
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v16.19.1
- name: Install dependencies
run: |
pushd apps/docs
npm ci
- name: Build
env:
PUBLIC_URL: "${{ inputs.public-url }}/docs"
run: |
pushd apps/docs
npm run build
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: build-docs
path: apps/docs/build
advanced-tools:
name: "Advance Tools"
runs-on: xlabs-large-runner
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-advanced-tools
cancel-in-progress: true
environment: ${{inputs.environment}}
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: xLabs/portal-bridge-ui
ref: ${{inputs.advanced-tools-branch}}
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
- name: Setup Git
run: |
git config user.name "xLabs CI"
git config user.email "[email protected]"
- name: Install dependencies
run: npm ci
- name: Set Version
id: set-version
run: npm version $(node -p -e "require('./package.json').version")-${{inputs.separator}}$(echo ${{ github.sha }} | cut -c -10)
- name: Build
env:
PUBLIC_URL: "${{ inputs.public-url }}/advanced-tools"
NODE_OPTIONS: "--max-old-space-size=10240"
GENERATE_SOURCEMAP: false
REACT_APP_BASE_URL: "${{ inputs.public-url }}"
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_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: build-advanced-tools
path: build
redirects:
name: "Redirects"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-redirects
cancel-in-progress: true
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
- name: Checkout Portal Bridge
uses: actions/checkout@v3
with:
ref: ${{ inputs.project-branch }}
- name: Build Redirects
env:
PUBLIC_URL: "${{ inputs.public-url }}"
run: |
pushd apps/redirects
npm ci
npm run build
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: build-redirects
path: apps/redirects/dist
rewards-dashboard:
name: "Rewards Dashboard"

Check failure on line 145 in .github/workflows/build.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/build.yml

Invalid workflow file

You have an error in your yaml syntax on line 145
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-rewards-dashboard
cancel-in-progress: true
environment: ${{inputs.environment}}
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
- name: Checkout Rewards Dashboard
uses: actions/checkout@v3
with:
ref: ${{ inputs.project-branch }}
- name: Build Rewards Dashboard
env:
PUBLIC_URL: ${{ inputs.public-url }}
VITE_WAC_URL: ${{ inputs.wac-url }}
VITE_APP_WALLET_CONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLET_CONNECT_PROJECT_ID }}
VITE_APP_DOMAIN: ${{ inputs.app-domain }}
run: |
pushd apps/rewards-dashboard
npm ci
npm run build
- name: Upload Rewards Dashboard Artifact
uses: actions/upload-artifact@v3
with:
name: build-rewards-dashboard
path: apps/rewards-dashboard/dist
usdc-bridge:
name: "USDC Bridge"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-usdc-bridge
cancel-in-progress: true
environment: ${{inputs.environment}}
outputs:
pkg-version: ${{ steps.set-version.outputs._PKG_VERSION }}
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
# - name: Checkout Wormhole Connect
# uses: actions/checkout@v3
# with:
# repository: wormhole-foundation/wormhole-connect
# ref: ${{inputs.connect-branch}}
# path: wormhole-connect
# - name: Build Wormhole Connect
# id: wormhole-connect
# run: |
# npm install -g husky
# pushd wormhole-connect
# npm ci --workspaces --if-present
# sed -i -e 's|vite build",|vite build --base=${{inputs.public-url}}/assets/wormhole-connect/",|g' wormhole-connect/package.json
# npm run build
# echo "_JS_SHA_384=$(shasum -b -a 384 wormhole-connect/dist/main.js | awk '{ print $1 }' | xxd -r -p | base64)" >> "${GITHUB_OUTPUT}"
# echo "_CSS_SHA_384=$(shasum -b -a 384 wormhole-connect/dist/main.css | awk '{ print $1 }' | xxd -r -p | base64)" >> "${GITHUB_OUTPUT}"
- name: Checkout Custom Wormhole Connect Loader
uses: actions/checkout@v3
with:
ref: ${{ inputs.project-branch }}
path: connect-loader
- name: Setup Git
run: |
pushd connect-loader
git config user.name "xLabs CI"
git config user.email "[email protected]"
- name: Set Portal Bridge Version
id: set-version
run: |
pushd connect-loader/apps/connect
npm version $(node -p -e "require('./package.json').version")-${{inputs.separator}}$(echo ${{ github.sha }} | cut -c -10)
echo "_PKG_VERSION=$(node -p -e "require('./package.json').version")" >> "${GITHUB_OUTPUT}"
- name: Build Custom Wormhole Connect Loader
env:
PUBLIC_URL: ${{ inputs.public-url }}
VITE_APP_VERSION: ${{ steps.set-version.outputs._PKG_VERSION }}
VITE_APP_CLUSTER: ${{ vars.REACT_APP_CLUSTER }}
# VITE_APP_JS_WC_INTEGRITY_SHA_384: ${{ steps.wormhole-connect.outputs._JS_SHA_384 }}
# VITE_APP_CSS_WC_INTEGRITY_SHA_384: ${{ steps.wormhole-connect.outputs._CSS_SHA_384 }}
VITE_APP_WALLET_CONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLET_CONNECT_PROJECT_ID }}
run: |
pushd connect-loader/apps/connect
npm ci
echo 'VITE_APP_VERSION=$npm_package_version' > .env
npm run build:usdc-bridge
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: build-usdc-bridge
path: connect-loader/apps/connect/dist
token-bridge:
name: "Token Bridge"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-token-bridge
cancel-in-progress: true
environment: ${{inputs.environment}}
outputs:
pkg-version: ${{ steps.set-version.outputs._PKG_VERSION }}
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
# - name: Checkout Wormhole Connect
# uses: actions/checkout@v3
# with:
# repository: wormhole-foundation/wormhole-connect
# ref: ${{inputs.connect-branch}}
# path: wormhole-connect
# - name: Build Wormhole Connect
# id: wormhole-connect
# run: |
# npm install -g husky
# pushd wormhole-connect
# npm ci --workspaces --if-present
# sed -i -e 's|vite build",|vite build --base=${{inputs.public-url}}/assets/wormhole-connect/",|g' wormhole-connect/package.json
# npm run build
# echo "_JS_SHA_384=$(shasum -b -a 384 wormhole-connect/dist/main.js | awk '{ print $1 }' | xxd -r -p | base64)" >> "${GITHUB_OUTPUT}"
# echo "_CSS_SHA_384=$(shasum -b -a 384 wormhole-connect/dist/main.css | awk '{ print $1 }' | xxd -r -p | base64)" >> "${GITHUB_OUTPUT}"
- name: Checkout Custom Wormhole Connect Loader
uses: actions/checkout@v3
with:
ref: ${{ inputs.project-branch }}
path: connect-loader
- name: Setup Git
run: |
pushd connect-loader
git config user.name "xLabs CI"
git config user.email "[email protected]"
- name: Set Portal Bridge Version
id: set-version
run: |
pushd connect-loader/apps/connect
echo "_PKG_VERSION=$(node -p -e "require('./package.json').version")-${{inputs.separator}}$(echo ${{ github.sha }} | cut -c -10)" >> "${GITHUB_OUTPUT}"
- name: Build Custom Wormhole Connect Loader
env:
PUBLIC_URL: "${{ inputs.public-url }}"
VITE_APP_VERSION: ${{ steps.set-version.outputs._PKG_VERSION }}
VITE_APP_CLUSTER: ${{ vars.REACT_APP_CLUSTER }}
# VITE_APP_JS_WC_INTEGRITY_SHA_384: ${{ steps.wormhole-connect.outputs._JS_SHA_384 }}
# VITE_APP_CSS_WC_INTEGRITY_SHA_384: ${{ steps.wormhole-connect.outputs._CSS_SHA_384 }}
VITE_APP_WALLET_CONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLET_CONNECT_PROJECT_ID }}
run: |
pushd connect-loader/apps/connect
npm ci
echo 'VITE_APP_VERSION=$npm_package_version' > .env
npm run build:token-bridge
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: build-token-bridge
path: connect-loader/apps/connect/dist
w-bridge:
name: "W Bridge"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-w-bridge
cancel-in-progress: true
environment: ${{inputs.environment}}
outputs:
pkg-version: ${{ steps.set-version.outputs._PKG_VERSION }}
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
- name: Checkout Custom Wormhole Connect Loader
uses: actions/checkout@v3
with:
ref: ${{ inputs.project-branch }}
path: connect-loader
- name: Setup Git
run: |
pushd connect-loader
git config user.name "xLabs CI"
git config user.email "[email protected]"
- name: Set Portal Bridge Version
id: set-version
run: |
pushd connect-loader/apps/w-bridge
echo "_PKG_VERSION=$(node -p -e "require('./package.json').version")-${{inputs.separator}}$(echo ${{ github.sha }} | cut -c -10)" >> "${GITHUB_OUTPUT}"
- name: Build Custom Wormhole Connect Loader
env:
PUBLIC_URL: "${{ inputs.public-url }}"
VITE_APP_VERSION: ${{ steps.set-version.outputs._PKG_VERSION }}
VITE_APP_CLUSTER: ${{ vars.REACT_APP_CLUSTER }}
VITE_APP_WALLET_CONNECT_PROJECT_ID: ${{ secrets.REACT_APP_WALLET_CONNECT_PROJECT_ID }}
run: |
pushd connect-loader/apps/w-bridge
npm ci
echo 'VITE_APP_VERSION=$npm_package_version' > .env
npm run build:token-bridge
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: build-w-bridge
path: connect-loader/apps/w-bridge/dist
publish:
name: "Publish"
needs:
- advanced-tools
- usdc-bridge
- token-bridge
- w-bridge
- redirects
- docs
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-${{inputs.name}}-publish
cancel-in-progress: true
permissions:
contents: read
packages: write
steps:
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-token-bridge
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-usdc-bridge
path: usdc-bridge
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-w-bridge
path: w-bridge
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-advanced-tools
path: advanced-tools
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-docs
path: docs
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-rewards-dashboard
path: rewards-dashboard
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: build-redirects
- name: Set up GitHub NPM registry
uses: actions/setup-node@v3
with:
node-version: v16.19.1
registry-url: https://npm.pkg.github.com
- name: Create Package.json
run: |
jq -n --arg version ${{ needs.token-bridge.outputs.pkg-version }} '{"name": "@xlabs/portal-bridge-ui", "version": $version }' > package.json
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: build-all
path: .
- name: Publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm publish