Skip to content

Commit 744ab6d

Browse files
feat: adds CDN deployments to gh pages (#1125)
* feat: adds CDN deployments to gh pages * feat: add versioning to the deploys * feat: adds version cleanup to avoid bad pathing * chore: renames cdn to static
1 parent a954015 commit 744ab6d

File tree

4 files changed

+168
-0
lines changed

4 files changed

+168
-0
lines changed

.github/workflows/deploy-cdn.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Deploy to CDN
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
tag:
7+
description: 'Tag to deploy'
8+
required: true
9+
default: ''
10+
11+
jobs:
12+
deploy:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v3
18+
with:
19+
ref: ${{ github.event.inputs.tag }}
20+
21+
- name: Set up Node.js
22+
uses: actions/setup-node@v3
23+
with:
24+
node-version: '18'
25+
26+
- name: Install Yarn 3
27+
run: yarn set version 3.5.1
28+
29+
- name: Install Dependencies
30+
run: yarn install --immutable
31+
32+
- name: Run deploy script
33+
env:
34+
tag: ${{ github.event.inputs.tag }}
35+
run: bash ./scripts/deploy-cdn.sh
36+
37+
- name: Deploy dapps
38+
uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305
39+
with:
40+
personal_token: ${{ secrets.DEPLOY_TOKEN }}
41+
# force_orphan: true # removing for now as it is incompatible with keep_files
42+
keep_files: true # Important to keep the rest of the files deployed previously
43+
publish_dir: ./deployments
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Deploy to CDN
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
tag:
7+
description: 'Tag to deploy'
8+
required: true
9+
default: ''
10+
11+
jobs:
12+
deploy:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v3
18+
with:
19+
ref: ${{ github.event.inputs.tag }}
20+
21+
- name: Set up Node.js
22+
uses: actions/setup-node@v3
23+
with:
24+
node-version: '18'
25+
26+
- name: Install Yarn 3
27+
run: yarn set version 3.5.1
28+
29+
- name: Install Dependencies
30+
run: yarn install --immutable
31+
32+
- name: Run deploy script
33+
env:
34+
tag: ${{ github.event.inputs.tag }}
35+
run: bash ./scripts/deploy-static.sh
36+
37+
- name: Deploy dapps
38+
uses: peaceiris/actions-gh-pages@068dc23d9710f1ba62e86896f84735d869951305
39+
with:
40+
personal_token: ${{ secrets.DEPLOY_TOKEN }}
41+
# force_orphan: true # removing for now as it is incompatible with keep_files
42+
keep_files: true # Important to keep the rest of the files deployed previously
43+
publish_dir: ./deployments

scripts/deploy-cdn.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
3+
# Stop on first error
4+
set -e
5+
6+
# Make sure to start from base workspace folder
7+
reldir="$( dirname -- "$0"; )";
8+
cd "$reldir/..";
9+
10+
build_sdk() {
11+
echo "\n---------- Building SDK -------------\n"
12+
yarn build
13+
echo "\n---------- Done building SDK -------------\n"
14+
}
15+
16+
copy_to_deployment_dir() {
17+
local deployment_dir=$1
18+
echo "\n---------- Copying to deployment directory -------------\n"
19+
cp -r packages/sdk/dist/browser/iife/metamask-sdk.js "$deployment_dir"
20+
cp -r packages/sdk/dist/browser/iife/metamask-sdk.js.map "$deployment_dir"
21+
echo "\n---------- Done copying to deployment directory -------------\n"
22+
}
23+
24+
# ------ Start
25+
deployment_folder="cdn"
26+
gh_tag=$tag
27+
gh_tag_version=$(echo "$gh_tag" | sed -E 's/@metamask\/sdk@([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
28+
29+
# Sanitize tag version
30+
deployment_dir="deployments/$deployment_folder/$gh_tag_version"
31+
32+
echo "Deployment folder: $deployment_folder"
33+
echo "Deployment directory: $deployment_dir"
34+
35+
mkdir -p "$deployment_dir"
36+
37+
# Build SDK from root
38+
build_sdk
39+
40+
# Copy to deployment directory
41+
copy_to_deployment_dir "$deployment_dir"

scripts/deploy-static.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
3+
# Stop on first error
4+
set -e
5+
6+
# Make sure to start from base workspace folder
7+
reldir="$( dirname -- "$0"; )";
8+
cd "$reldir/..";
9+
10+
build_sdk() {
11+
echo "\n---------- Building SDK -------------\n"
12+
yarn build
13+
echo "\n---------- Done building SDK -------------\n"
14+
}
15+
16+
copy_to_deployment_dir() {
17+
local deployment_dir=$1
18+
echo "\n---------- Copying to deployment directory -------------\n"
19+
cp -r packages/sdk/dist/browser/iife/metamask-sdk.js "$deployment_dir"
20+
cp -r packages/sdk/dist/browser/iife/metamask-sdk.js.map "$deployment_dir"
21+
echo "\n---------- Done copying to deployment directory -------------\n"
22+
}
23+
24+
# ------ Start
25+
deployment_folder="static"
26+
gh_tag=$tag
27+
gh_tag_version=$(echo "$gh_tag" | sed -E 's/@metamask\/sdk@([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
28+
29+
# Sanitize tag version
30+
deployment_dir="deployments/$deployment_folder/$gh_tag_version"
31+
32+
echo "Deployment folder: $deployment_folder"
33+
echo "Deployment directory: $deployment_dir"
34+
35+
mkdir -p "$deployment_dir"
36+
37+
# Build SDK from root
38+
build_sdk
39+
40+
# Copy to deployment directory
41+
copy_to_deployment_dir "$deployment_dir"

0 commit comments

Comments
 (0)