Skip to content

Merge pull request #184 from quid/chore/QUID-28018-migrate-ci-cd-pipe… #40

Merge pull request #184 from quid/chore/QUID-28018-migrate-ci-cd-pipe…

Merge pull request #184 from quid/chore/QUID-28018-migrate-ci-cd-pipe… #40

Workflow file for this run

name: ci
on:
push:
branches:
- '**'
tags:
- '**'
workflow_dispatch:
debug_console:
type: choice
description: 'turn on tmate SSH connection for debugging. (on/off/force)'
default: 'off'
options:
- "on"
- "off"
- "force"
jobs:
cancel:
runs-on: public-runner
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.9.1
with:
all_but_latest: true
test-and-deploy:
runs-on: public-runner
steps:
- name: Checkout Master
uses: actions/checkout@v4
if: ${{ github.ref == 'refs/heads/master' }}
with:
fetch-depth: 50
token: ${{ secrets.QUID_BOT_TOKEN }}
- name: Checkout Non-Master
uses: actions/checkout@v4
if: ${{ github.ref != 'refs/heads/master' }}
- name: Install Yarn
run: |
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.17.3
echo "$HOME/.yarn/bin" >> $GITHUB_PATH
- uses: actions/setup-node@v4
with:
node-version: 11.10.1
- name: Install Dependencies
run: |
yarn --frozen-lockfile
npm install -g flow-bin@0.100.0
npm install -g react-app-rewired@^2.1.1
npm install -g react-scripts@^3.0.1
- name: Type Checks and Unit Tests
run: |
flow check
react-app-rewired test --coverage --colors
- name: Build
if: ${{ github.ref == 'refs/heads/master' }}
run: yarn build
- name: Publish gh-pages
if: ${{ github.ref == 'refs/heads/master' }}
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./styleguide
keep_files: true
user_name: 'quid-bot'
user_email: 'infratructure@quid.com'
cname: ui.quid.com
- name: Publish to npm
if: ${{ github.ref == 'refs/heads/master' }}
run: |
export GITHUB_NAME=quid-bot
export GITHUB_EMAIL=infratructure@quid.com
export QUID_BOT_TOKEN=${{ secrets.QUID_BOT_TOKEN }}
export AUTOMATED_WRITE_AUTH=${{ secrets.AUTOMATED_WRITE_AUTH }}
bash scripts/deploy.sh
- name: Setup tmate session
if: ${{ (failure() && inputs.debug_console == 'on') || inputs.debug_console == 'force' }}
uses: mxschmitt/action-tmate@v3