diff --git a/.github/workflows/audit_build_verify.yml b/.github/workflows/audit_build_verify.yml index 4edb011a7..5d299624c 100644 --- a/.github/workflows/audit_build_verify.yml +++ b/.github/workflows/audit_build_verify.yml @@ -99,7 +99,26 @@ jobs: uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 # pin@v2 with: name: build - path: build.tar.gz + path: build.tar.gz + # This are really big files that vercel use when prerendeing, not needed for dispersed + - name: Remove out pages + run: rm -r out/_next/static/chunks/pages + + - name: Change permission of out folder + run: chmod 777 ./out + + - name: Build dispersed + run: yarn dispersed-bundle + + - name: Upload dispersed bundle to S3 + uses: Synthetixio/upload-s3-action@master + with: + aws_key_id: ${{ secrets.AWS_KEY_ID }} + aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} + aws_bucket: synthetix-staking-dispersed + source_dir: 'dispersed-dist' + destination_dir: 'publish' + e2e: needs: build diff --git a/.gitignore b/.gitignore index c0377b396..3230c78f1 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ tests/e2e/videos .npm-cache .yarn-cache +synthetix-dispersed-staking \ No newline at end of file diff --git a/package.json b/package.json index 746afdc10..f5ac2266c 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "test:synpress:open": "env-cmd -f .env.local synpress open", "test:e2e": "start-server-and-test 'yarn build && yarn start' http-get://localhost:3000 'synpress run'", "test:e2e:ci": "synpress run --group smoke-tests --record --parallel", - "upgrade-synthetix": "yarn add @synthetixio/assets@latest @synthetixio/contracts-interface@latest @synthetixio/optimism-networks@latest @synthetixio/providers@latest @synthetixio/queries@latest @synthetixio/transaction-notifier@latest @synthetixio/wei@latest" + "upgrade-synthetix": "yarn add @synthetixio/assets@latest @synthetixio/contracts-interface@latest @synthetixio/optimism-networks@latest @synthetixio/providers@latest @synthetixio/queries@latest @synthetixio/transaction-notifier@latest @synthetixio/wei@latest", + "dispersed-bundle": "mkdir dispersed-dist && dispersed bundle dispersed-dist/synthetix-staking-dispersed ./out" }, "dependencies": { "@artsy/fresnel": "1.8.0", @@ -101,6 +102,7 @@ "@typescript-eslint/parser": "4.29.3", "babel-eslint": "10.1.0", "babel-plugin-styled-components": "1.11.1", + "dispersed-cli": "0.1.2", "env-cmd": "10.1.0", "eslint": "^7.12.0", "eslint-config-prettier": "6.10.1", diff --git a/yarn.lock b/yarn.lock index 2aa2ac7ff..9f1dd1d1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,6 +9,13 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" +"@angular/service-worker@^13.2.4": + version "13.3.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.3.0.tgz#ff6bfe4a54cf9922e38853ed3c793b139bfbef1f" + integrity sha512-776tmgsQ09pLWWMhp1dMpN2t8wDn/H0gXH9AtFbJPcqBxAbkwFvNYZ72uJQq1pZLvPJfickC/LnLIDCo5JFrCQ== + dependencies: + tslib "^2.3.0" + "@apocentre/alias-sampling@^0.5.3": version "0.5.3" resolved "https://registry.yarnpkg.com/@apocentre/alias-sampling/-/alias-sampling-0.5.3.tgz#897ff181b48ad7b2bcb4ecf29400214888244f08" @@ -7308,6 +7315,11 @@ chownr@^1.1.1, chownr@^1.1.4: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -8839,6 +8851,15 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dispersed-cli@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dispersed-cli/-/dispersed-cli-0.1.2.tgz#e84f16b7eb004b064985ecdc6d2f139a3d3dd6c2" + integrity sha512-KRqZtrKi3G9LnHdf23ywZC4TgY7fNI+KNGJN9WhZfJfRgspzQYlrSNBFzchqe/XN1Jw/TFcDGH5rN3idX0txIw== + dependencies: + "@angular/service-worker" "^13.2.4" + tar "^6.1.11" + yargs "^17.3.1" + doctrine@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -11331,6 +11352,13 @@ fs-minipass@^1.2.7: dependencies: minipass "^2.6.0" +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -14711,6 +14739,13 @@ minipass@^2.6.0, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^3.0.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + dependencies: + yallist "^4.0.0" + minizlib@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" @@ -14718,6 +14753,14 @@ minizlib@^1.3.3: dependencies: minipass "^2.9.0" +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -14738,7 +14781,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*: +mkdirp@*, mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -19123,6 +19166,18 @@ tar@^4.0.2: safe-buffer "^5.2.1" yallist "^3.1.1" +tar@^6.1.11: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" @@ -21123,6 +21178,11 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + yargs@^13.2.4: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -21169,6 +21229,19 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.3.1: + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yargs@^4.7.1: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"