diff --git a/.github/workflows/fleek-deploy.yaml b/.github/workflows/fleek-deploy.yaml new file mode 100644 index 00000000000..ebcd83b0a18 --- /dev/null +++ b/.github/workflows/fleek-deploy.yaml @@ -0,0 +1,55 @@ +on: + push: + branches: [fleek] + +jobs: + deploy: + env: + FLEEK_TOKEN: ${{ secrets.FLEEK_TOKEN }} + FLEEK_PROJECT_ID: ${{ secrets.FLEEK_PROJECT_ID }} + runs-on: size-bertha + name: Build + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Environment (PR) + if: ${{ github.event_name == 'pull_request' }} + # github actions run in the context of a special magical merge commit between the head of the PR + # and the base branch. this means that the commit hash is not the same as the head of the PR. + # we have to conditionally grab the head of the PR and truncate it to 7 characters. + # in a `pull_request`` event trigger, base_ref is target branch name, head_ref is current + run: | + echo "COMMIT_SHORT_HASH=`echo ${{ github.event.pull_request.head.sha }} | cut -c1-7`" >> ${GITHUB_ENV} + echo "CURRENT_BRANCH_NAME=${{ github.head_ref }}" >> ${GITHUB_ENV} + # in a `pull` event trigger, e.g. yoloing to develop or main, GITHUB_SHA is the head commit + # of the branch and we can use that directly. + # ref_name is the name of the branch, e.g. develop, main, etc. + - name: Setup Environment (Push) + if: ${{ github.event_name == 'push' }} + run: | + echo "COMMIT_SHORT_HASH=`echo ${GITHUB_SHA} | cut -c1-7`" >> ${GITHUB_ENV} + echo "CURRENT_BRANCH_NAME=${{ github.ref_name }}" >> ${GITHUB_ENV} + - name: Debug GitHub Context + env: { CONTENT : "${{ toJson(github) }}" } + run: "echo $CONTENT" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'yarn' + - name: Cache + uses: actions/cache@v3 + with: + path: | + node_modules + ~/.cache/Cypress + key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} + restore-keys: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} + - name: Yarn Install + run: yarn install --immutable + - name: Build Packages + run: yarn build:packages + - name: Build Web + run: yarn env app && yarn build:web + - name: Deploy + run: fleek sites deploy \ No newline at end of file diff --git a/.nvmrc b/.nvmrc index b6a7d89c68e..3c032078a4a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16 +18 diff --git a/fleek.config.ts b/fleek.config.ts new file mode 100644 index 00000000000..45bddb2f16d --- /dev/null +++ b/fleek.config.ts @@ -0,0 +1,10 @@ +import { FleekConfig } from '@fleekxyz/cli'; + +export default { + "sites": [ + { + "slug": "square-caravan-big", + "distDir": "build" + } + ] +} satisfies FleekConfig; \ No newline at end of file diff --git a/package.json b/package.json index 0d09b75c721..706d81194ee 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "scripts": { "bump": "yarn upgrade-interactive --latest --scope @shapeshiftoss", - "build:web": "yarn build:packages && NODE_OPTIONS=--max-old-space-size=8192 IMAGE_INLINE_SIZE_LIMIT=0 INLINE_RUNTIME_CHUNK=false DISABLE_ESLINT_PLUGIN=true react-app-rewired build && node ./scripts/writeHeaders.js && ./scripts/sha256sums.sh && ./scripts/verifyWebpackHashes.sh && ts-node --skipProject ./scripts/writeBuildMetadata.ts", + "build:web": "yarn build:packages && NODE_OPTIONS=--max-old-space-size=8192 IMAGE_INLINE_SIZE_LIMIT=0 INLINE_RUNTIME_CHUNK=false DISABLE_ESLINT_PLUGIN=true react-app-rewired --openssl-legacy-provider build && node ./scripts/writeHeaders.js && ./scripts/sha256sums.sh && ./scripts/verifyWebpackHashes.sh && ts-node --skipProject ./scripts/writeBuildMetadata.ts", "build:packages": "yarn clean:packages && yarn workspace @shapeshiftoss/unchained-client generate && yarn tsc --build tsconfig.packages.json", "clean": "yarn clean:packages && yarn clean:web && rm -rf node_modules coverage tsconfig.tsbuildinfo", "clean:web": "rm -rf build tsconfig.web.tsbuildinfo",