Skip to content

Merge pull request #5271 from BitGo/BTC-1450.factor-baseparsedtransac… #16174

Merge pull request #5271 from BitGo/BTC-1450.factor-baseparsedtransac…

Merge pull request #5271 from BitGo/BTC-1450.factor-baseparsedtransac… #16174

Workflow file for this run

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 --ignore-scripts
- 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: build packages
env:
# Workaround for https://github.com/nodejs/node/issues/51555
DISABLE_V8_COMPILE_CACHE: '1'
run: yarn run postinstall
- 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-22.04
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'
env:
# Workaround for https://github.com/nodejs/node/issues/51555
DISABLE_V8_COMPILE_CACHE: '1'
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 .