Skip to content

Commit

Permalink
Restore dashbaord mainnet workflow
Browse files Browse the repository at this point in the history
Restore dahsboard mainnet workflow to the projects so that we can see the
mainnet preview before a release.
  • Loading branch information
michalsmiarowski committed Feb 1, 2024
1 parent 927924f commit 0d61fe2
Showing 1 changed file with 111 additions and 0 deletions.
111 changes: 111 additions & 0 deletions .github/workflows/dashboard-v1-mainnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Token Dashboard / Mainnet

on:
pull_request:
branches: [main]
paths:
- solidity-v1/dashboard/**

# For pull_request_target:
# - Checkout with repository set to PR repo, ref same (see
# https://github.com/actions/checkout#usage).
# - Trigger from issue comment?

jobs:
build-docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Build Docker Build Image
uses: docker/build-push-action@v2
with:
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new

- # Temp fix - move cache instead of copying (added below step and
# modified value of `cache-to`).
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
# Without the change some jobs were failing with `no space left on device`
name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
build-and-deploy:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.11.x]

if: startsWith(github.head_ref, 'releases/mainnet/token-dashboard/')
defaults:
run:
working-directory: solidity-v1/dashboard
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# This step forces Git to download dependencies using `https://` protocol,
# even if `package-lock.json` refers to some package via `git://`. Using
# `git://` is no longer supported by GH. One of the `dashboard`
# dependencies by default uses `git://` and we needed to manually remove
# it every time it re-appeared in the lock file. Now even if it does,
# the `npm ci` will not fail.
- name: Configure git to don't use unauthenticated protocol
run: git config --global url."https://".insteadOf git://
- run: npm ci
#- run: npm run lint
#- if: github.event_name == 'push' TODO uncomment when mainnet builds happen this way
# run: npm run build --if-present
- if: github.event_name == 'pull_request'
run: npm run build
env:
PUBLIC_URL: /${{ github.head_ref }}
# A push event is a main merge; deploy to primary bucket.
# TODO uncomment when mainnet builds happen this way
#- if: github.event_name == 'push'
# name: Deploy Main to GCP
# uses: thesis/[email protected]
# with:
# service-key: ${{ secrets.KEEP_DASHBOARD_UPLOADER_SERVICE_KEY_JSON }}
# project: keep-prd-210b
# bucket-name: dashboard.keep.network
# build-folder: solidity-v1/dashboard/build
# A pull_request event is a PR; deploy to preview bucket.
- if: github.event_name == 'pull_request'
name: Deploy PR preview to GCP
uses: thesis/[email protected]
with:
service-key: ${{ secrets.KEEP_DASHBOARD_UPLOADER_SERVICE_KEY_JSON_BASE64 }}
project: keep-prd-210b
bucket-name: preview.dashboard.keep.network
bucket-path: ${{ github.head_ref }}
build-folder: solidity-v1/dashboard/build
# A pull_request event is a PR; leave a comment with the preview URL.
- if: github.event_name == 'pull_request'
name: Post preview URL to PR
uses: actions/github-script@v5
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Preview uploaded to https://preview.dashboard.keep.network/${{ github.head_ref }}/.'
})

0 comments on commit 0d61fe2

Please sign in to comment.