Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/wormhole connect cutover #490

Merged
merged 72 commits into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
d4fe49d
setup CI/CD build
sebastianscatularo Oct 31, 2023
8432f6a
remove nav bar links
sebastianscatularo Oct 31, 2023
17e5738
remove unecesary imports, add dist folder to gitignore
sebastianscatularo Nov 1, 2023
78a0524
#483 - setup sample settings
sebastianscatularo Nov 2, 2023
096535d
change build steps
sebastianscatularo Nov 2, 2023
9c858e1
setup the right branch
sebastianscatularo Nov 2, 2023
900ca00
setup the right input
sebastianscatularo Nov 2, 2023
ee15cb0
fix build error
sebastianscatularo Nov 2, 2023
08848da
set to user xlab dedicated runner
sebastianscatularo Nov 2, 2023
8b4654e
enable usdc bridge building
sebastianscatularo Nov 16, 2023
062c7bf
update news bar
sebastianscatularo Nov 16, 2023
8b2de28
remove unecesary router, remove footer, update nav links
sebastianscatularo Nov 16, 2023
9eb5160
#523 - add more networks and more tokens settings
sebastianscatularo Nov 20, 2023
45db59c
#480 - add scripts to create index.html pages for sui and cosmos with…
sebastianscatularo Nov 20, 2023
8c413b1
#480 - refactor script for clean and prebuild
sebastianscatularo Nov 20, 2023
bc18c53
480 - fix variable replacemente issue
sebastianscatularo Nov 20, 2023
f3734d1
setup workflow deployment
sebastianscatularo Nov 21, 2023
ae52f8a
rename jobs name
sebastianscatularo Nov 21, 2023
aba4e33
updata build steps
sebastianscatularo Nov 21, 2023
aa9fb87
fix git command
sebastianscatularo Nov 21, 2023
fcf8ea8
fix version command
sebastianscatularo Nov 21, 2023
2cfb424
fix usdc-bridge build
sebastianscatularo Nov 21, 2023
48dfa52
fix artifact path, add complete artifact
sebastianscatularo Nov 21, 2023
42c9c3a
fix all build upload to include package.json
sebastianscatularo Nov 21, 2023
c8d3975
include usdc-bridge as part of the build
sebastianscatularo Nov 21, 2023
9cd2a73
fix usdc-bridge deploy url
sebastianscatularo Nov 21, 2023
5754257
setup testnet build
sebastianscatularo Nov 21, 2023
78d9adc
fix deploy step
sebastianscatularo Nov 21, 2023
3465a82
setup reusable workflow
sebastianscatularo Nov 21, 2023
c7283d1
set job name
sebastianscatularo Nov 21, 2023
48ea968
setup preview build with shared workflow
sebastianscatularo Nov 21, 2023
d1bcc5b
configure nav base based on build options
sebastianscatularo Nov 21, 2023
e4f1b4b
fix bad advance link
sebastianscatularo Nov 21, 2023
be21124
add node types
sebastianscatularo Nov 21, 2023
49cc0e1
setup custom branch for connect and advance tools
sebastianscatularo Nov 21, 2023
0e5e28f
remove background image
sebastianscatularo Nov 21, 2023
154048d
set background color to avoid flick on display before redirect
sebastianscatularo Nov 21, 2023
ecce8d9
remove unecesary files
sebastianscatularo Nov 21, 2023
59fbe8d
set right order for advance tools link, add cf pages setup
sebastianscatularo Nov 21, 2023
8900141
update pallete as design
sebastianscatularo Nov 21, 2023
a2d3600
update modal background color
sebastianscatularo Nov 21, 2023
537e0aa
update Algorand icon
sebastianscatularo Nov 21, 2023
200d02f
Update tooltip description
sebastianscatularo Nov 21, 2023
fb111d9
refactor config const for href template
sebastianscatularo Nov 21, 2023
6f36946
setup base url for advance tools links
sebastianscatularo Nov 21, 2023
db13d43
fix query params deep link
sebastianscatularo Nov 21, 2023
c93ebaf
add debug git command
sebastianscatularo Nov 21, 2023
3061a9b
set install CI to avoid package-lock.json rewrite
sebastianscatularo Nov 21, 2023
4a8c80d
set advanced tools
sebastianscatularo Nov 22, 2023
6dea26e
change cta color, adjust top bar font and size
sebastianscatularo Nov 22, 2023
e4d1e26
fix testnet networks
sebastianscatularo Nov 22, 2023
29f4136
add circle partner logo and center USDC bridge title
sebastianscatularo Nov 23, 2023
84665d8
add background
sebastianscatularo Nov 23, 2023
abad4a8
set opacity to elipsis
sebastianscatularo Nov 23, 2023
3626e2b
refactor components
sebastianscatularo Nov 23, 2023
646467b
Update all stages to use reusable workflow
sebastianscatularo Nov 23, 2023
ed9794d
set Preview environment to allow prod test build
sebastianscatularo Nov 23, 2023
c6302d7
add option to select environment
sebastianscatularo Nov 23, 2023
0c4f5ac
fix react type issue
sebastianscatularo Nov 23, 2023
4a5f6ee
Feature: Hamburguer menu (#540)
yuli-ferna Nov 27, 2023
d541bfe
fix branch-sha and enable cctp warnign (#538)
sebastianscatularo Nov 27, 2023
7e6b11e
Bugfix: Footer behavior (#545)
yuli-ferna Nov 27, 2023
7eab6ca
minor adjustments to ui
sebastianscatularo Nov 27, 2023
4b68937
#546 - remove SEI in testnet (#548)
sebastianscatularo Nov 27, 2023
83d62c0
fix openning twice
sebastianscatularo Nov 27, 2023
f902d52
trigger deployment
sebastianscatularo Nov 28, 2023
8a59f79
trigger wormhole connect deployment
sebastianscatularo Nov 28, 2023
f03388a
trigger wormhole connect deployment
sebastianscatularo Nov 28, 2023
be5da16
setup default rpcs for mainnet
sebastianscatularo Nov 28, 2023
66094a3
update build inputs to allow build from a connect tag
sebastianscatularo Nov 28, 2023
80e0980
fix prettier job, add linter job, remove other unnecessary jobs (#563)
sebastianscatularo Dec 1, 2023
f7d482b
Feat: Portal Logo should take the user back to the new portal bridge …
yuli-ferna Dec 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
307 changes: 307 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,307 @@
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
default: /
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
- 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"
# PUBLIC_URL: "/${{ needs.branch-sha.outputs.value }}/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
# TODO replace with the advance tools branch after cutover
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 "devops@xlabs.xyz"
- 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"
# PUBLIC_URL: "/${{ needs.branch-sha.outputs.value }}/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
- 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

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
run: |
npm install -g husky
pushd wormhole-connect
npm ci --workspaces --if-present
npm run build
npm link --workspaces --if-present
- name: Checkout Custom Wormhole Connect Loader
uses: actions/checkout@v3
with:
path: connect-loader
- name: Setup Git
run: |
pushd connect-loader
git config user.name "xLabs CI"
git config user.email "devops@xlabs.xyz"
- 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 }}
run: |
pushd connect-loader/apps/connect
npm ci
npm link @wormhole-foundation/wormhole-connect
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
run: |
npm install -g husky
pushd wormhole-connect
npm ci --workspaces --if-present
npm run build
npm link --workspaces --if-present
- name: Checkout Custom Wormhole Connect Loader
uses: actions/checkout@v3
with:
path: connect-loader
- name: Setup Git
run: |
pushd connect-loader
git config user.name "xLabs CI"
git config user.email "devops@xlabs.xyz"
- 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 }}
run: |
pushd connect-loader/apps/connect
npm ci
npm link @wormhole-foundation/wormhole-connect
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

publish:
name: "Publish"
needs:
- advanced-tools
- usdc-bridge
- token-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-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-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
35 changes: 35 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Code Standard Checks

on: pull_request

jobs:
linter:
runs-on: "ubuntu-latest"
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
working-directory: ./apps/connect
run: npm ci
- name: Run prettier
working-directory: ./apps/connect
run: npm run lint
prettier:
runs-on: "ubuntu-latest"
steps:
- name: Set up Node environment
uses: actions/setup-node@v3
with:
node-version: v18.17.1
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies
working-directory: ./apps/connect
run: npm ci
- name: Run prettier
working-directory: ./apps/connect
run: npm run prettier
Loading