Merge pull request #4922 from BitGo/BTC-1487-typo #14780
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: BitGo SDK | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
- rel/** | |
workflow_dispatch: | |
jobs: | |
unit-test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: [18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup node:${{ matrix.node-version }} | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Build Info | |
run: | | |
echo "node $(node --version)" | |
echo "npm $(npm --version)" | |
echo "yarn $(yarn --version)" | |
git --version | |
echo "base ref $GITHUB_BASE_REF" | |
echo "head ref $GITHUB_HEAD_REF" | |
- name: Fetch Base Ref | |
run: | | |
git fetch origin $GITHUB_BASE_REF | |
- name: restore lerna dependencies | |
id: lerna-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
modules/*/node_modules | |
key: ${{ runner.os }}-node${{matrix.node-version}}-${{ hashFiles('yarn.lock') }}-${{ hashFiles('tsconfig.packages.json') }}-${{ hashFiles('package.json') }} | |
- name: Install Packages | |
if: steps.lerna-cache.outputs.cache-hit != 'true' || contains( github.event.pull_request.labels.*.name, 'SKIP_CACHE') | |
run: yarn install --with-frozen-lockfile | |
- name: build packages | |
if: steps.lerna-cache.outputs.cache-hit == 'true' | |
run: yarn run postinstall | |
- name: Lint Commit Messages | |
run: | | |
GITHUB_REPO_BRANCH=$GITHUB_BASE_REF yarn run check-commits | |
- name: Check In-Repo Package Versions | |
run: yarn run check-versions | |
- name: Dependency Audit | |
run: yarn run improved-yarn-audit --min-severity high | |
- name: Lint Source Code | |
run: yarn run lint | |
- name: Check Source Code Formatting | |
run: yarn run check-fmt | |
- name: Check Package Dependencies | |
run: yarn run check-deps | |
- name: Unit Test | |
run: yarn run unit-test-changed | |
env: | |
BITGOJS_TEST_PASSWORD: ${{ secrets.BITGOJS_TEST_PASSWORD }} | |
# - name: Upload Code Coverage | |
# run: | | |
# yarn run gen-coverage-changed | |
# yarn run coverage | |
# env: | |
# CODECOV_FLAG: unit | |
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
browser-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup node 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 # this just needs to pass our lock file requirement for compilation | |
- name: Build Info | |
run: | | |
echo "node $(node --version)" | |
echo "npm $(npm --version)" | |
echo "yarn $(yarn --version)" | |
git --version | |
echo "base ref $GITHUB_BASE_REF" | |
echo "head ref $GITHUB_HEAD_REF" | |
- name: Install APT Packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y \ | |
gconf-service \ | |
libasound2 \ | |
libatk1.0-0 \ | |
libatk-bridge2.0-0 \ | |
libc6 \ | |
libcairo2 \ | |
libcups2 \ | |
libdbus-1-3 \ | |
libexpat1 \ | |
libfontconfig1 \ | |
libgcc1 \ | |
libgconf-2-4 \ | |
libgdk-pixbuf2.0-0 \ | |
libglib2.0-0 \ | |
libgtk-3-0 \ | |
libnspr4 \ | |
libpango-1.0-0 \ | |
libpangocairo-1.0-0 \ | |
libstdc++6 \ | |
libx11-6 \ | |
libx11-xcb1 \ | |
libxcb1 \ | |
libxcomposite1 \ | |
libxcursor1 \ | |
libxdamage1 \ | |
libxext6 \ | |
libxfixes3 \ | |
libxi6 \ | |
libxrandr2 \ | |
libxrender1 \ | |
libxss1 \ | |
libxtst6 \ | |
ca-certificates \ | |
fonts-liberation \ | |
libappindicator1 \ | |
libnss3 \ | |
lsb-release \ | |
xdg-utils \ | |
wget | |
- name: restore lerna dependencies | |
id: lerna-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
modules/*/node_modules | |
/home/runner/.cache/Cypress | |
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}-${{ hashFiles('tsconfig.packages.json')}}-${{ hashFiles('package.json') }} | |
- name: Install Packages | |
if: steps.lerna-cache.outputs.cache-hit != 'true' || contains( github.event.pull_request.labels.*.name, 'SKIP_CACHE') | |
run: yarn install --with-frozen-lockfile | |
- name: build packages | |
if: steps.lerna-cache.outputs.cache-hit == 'true' | |
run: yarn run postinstall | |
- name: Browser Tests | |
run: yarn run browser-tests | |
env: | |
BITGOJS_TEST_PASSWORD: ${{ secrets.BITGOJS_TEST_PASSWORD }} | |
docker-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Build BitGoJS Express Docker Image | |
run: podman build . |