Skip to content

Commit

Permalink
setup workflow deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianscatularo committed Nov 21, 2023
1 parent bc18c53 commit f3734d1
Show file tree
Hide file tree
Showing 3 changed files with 124 additions and 22 deletions.
108 changes: 89 additions & 19 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ jobs:
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: preview-docs-build
name: build-docs
path: apps/docs/build

portal:
advance-tools:
name: "Build Portal Bridge (Advance)"
runs-on: xlabs-large-runner
concurrency:
group: ${{ github.ref }}-portal-preview
group: ${{ github.ref }}-advance-tools
cancel-in-progress: true
environment: Cloudflare-Preview
needs:
Expand All @@ -58,7 +58,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v3
with:
repository: xlabs/portal-bridge-ui
repository: xLabs/portal-bridge-ui
# TODO replace with the advance tools branch after cutover
ref: main
- name: Set up Node environment
Expand All @@ -78,6 +78,7 @@ jobs:
env:
PUBLIC_URL: "/${{ needs.branch-sha.outputs.value }}/advance-tools"
NODE_OPTIONS: "--max-old-space-size=10240"
GENERATE_SOURCEMAP: false
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 }}
Expand All @@ -97,7 +98,7 @@ jobs:
name: "Build Portal Bridge"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-redicts-preview
group: ${{ github.ref }}-redirects
cancel-in-progress: true
needs:
- branch-sha
Expand All @@ -118,10 +119,74 @@ jobs:
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: preview-connect-build
name: build-redirects
path: apps/redirects/dist

connect:
usdc-bridge:
name: "Build USDC Bridge"
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-usdc-bridge
cancel-in-progress: true
environment: Cloudflare-Preview
needs:
- branch-sha
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: xlabs/wormhole-connect
ref: ${{github.event.pull_request.head.ref}}
path: wormhole-connect
- name: Checkout Portal Bridge
uses: actions/checkout@v3
with:
path: portal
- name: Setup Git
run: |
pushd portal
git config user.name "xLabs CI"
git config user.email "[email protected]"
- name: Set Portal Bridge Version
id: set-version
run: |
pushd portal/apps/connect
npm version $(node -p -e "require('./package.json').version")-P$(echo ${{ github.sha }} | cut -c -10)
echo "_PKG_VERSION=$(node -p -e "require('./package.json').version")" >> "${GITHUB_OUTPUT}"
- name: Build Portal Bridge
env:
PUBLIC_URL: "/${{ needs.branch-sha.outputs.value }}"
VITE_APP_VERSION: ${{ steps.set-version.outputs._PKG_VERSION }}
VITE_APP_CLUSTER: ${{ vars.REACT_APP_CLUSTER }}
VITE_APP_ADVANCE_PATH: "/${{ needs.branch-sha.outputs.value }}/advance"
run: |
npm install -g husky
pushd wormhole-connect
npm ci --workspaces --if-present
npm run build
npm link --workspaces --if-present
popd
pushd portal/apps/connect
npm ci
npm link @wormhole-foundation/wormhole-connect
pushd public
npm run set-version
popd
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: portal/apps/connect/dist

token-bridge:
name: "Build Portal Bridge"
runs-on: "ubuntu-latest"
concurrency:
Expand Down Expand Up @@ -178,22 +243,23 @@ jobs:
npm run set-version
popd
echo 'VITE_APP_VERSION=$npm_package_version' > .env
npm run build
npm run build:token-bridge
- name: Upload Portal Bridge Artifact
uses: actions/upload-artifact@v3
with:
name: preview-connect-build
name: build-token-bridge
path: portal/apps/connect/dist

publish:
name: "Publish"
needs:
- portal
- connect
- advance-tools
- usdc-bridge
- token-bridge
- docs
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-publish-preview
group: ${{ github.ref }}-publish
cancel-in-progress: true
permissions:
contents: read
Expand All @@ -202,17 +268,21 @@ jobs:
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: preview-connect-build
name: build-token-bridge
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: preview-advance-build
path: advance
name: build-advance-tools
path: advance-tools
- name: Download Artifact
uses: actions/download-artifact@v3
with:
name: preview-docs-build
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:
Expand All @@ -228,7 +298,7 @@ jobs:
needs:
- publish
- branch-sha
- connect
- token-bridge
runs-on: "ubuntu-latest"
concurrency:
group: ${{ github.ref }}-deploy-preview
Expand All @@ -253,8 +323,8 @@ jobs:
[[ ! -f .latest ]] && touch .latest
[[ ! -f .artifacts ]] && touch .artifacts
cat .latest >> .artifacts
echo ${{ needs.connect.outputs.pkg-version }} > .latest
echo ${{ needs.token-bridge.outputs.pkg-version }} > .latest
git add .artifacts .latest
git commit -m"Update preview artifacts ${{ needs.connect.outputs.pkg-version }}"
git commit -m"Update preview artifacts ${{ needs.token-bridge.outputs.pkg-version }}"
git push
echo "The preview URL is: ${{ vars.PREVIEW_ROOT_URL }}/${{ needs.branch-sha.outputs.value }}/" >> ${GITHUB_STEP_SUMMARY}
37 changes: 35 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,39 @@ Portal Bridge with Connect widget

Portal Bridge documentation

## Act
## Run Github Actions Locally with Act

act --artifact-server-path /tmp/act-artifacts -W .github/workflows/preview.yml pull_request -j redirects
see https://nektosact.com/installation/index.html

### All

```shell
export GITHUB_TOKEN=#your github token

act --artifact-server-path /tmp/act-artifacts -W .github/workflows/preview.yml pull_request -s GITHUB_TOKEN=${GITHUB_TOKEN} -P=xlabs-large-runner=catthehacker/ubuntu:act-latest --container-options "--memory=10G"
```

### advance-tools job

```shell
export GITHUB_TOKEN=#your github token

act --artifact-server-path /tmp/act-artifacts -W .github/workflows/preview.yml pull_request -j advance-tools -s GITHUB_TOKEN=${GITHUB_TOKEN} -P=xlabs-large-runner=catthehacker/ubuntu:act-latest --container-options "--memory=12g"
```

### redirects job

```shell
act --artifact-server-path /tmp/act-artifacts -W .github/workflows/preview.yml pull_request -j redirects
```

### usdc-bridge job

```shell
act --artifact-server-path /tmp/act-artifacts -W .github/workflows/preview.yml pull_request -j usdc-bridge -s GITHUB_TOKEN=${GITHUB_TOKEN}
```
### token-bridge job

```shell
act --artifact-server-path /tmp/act-artifacts -W .github/workflows/preview.yml pull_request -j token-bridge -s GITHUB_TOKEN=${GITHUB_TOKEN}
```
1 change: 0 additions & 1 deletion apps/redirects/src/configs/sui.env
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
TITLE="Cosmos Token Bridge"
DESCRIPTION="Portal is a bridge that offers unlimited transfers across chains for tokens and NFTs wrapped by Wormhole."
MAIN=${PUBLIC_URL}/?sourceChain=sui

0 comments on commit f3734d1

Please sign in to comment.