feat(express): migrate coinSignTx to typed routes #23719
Workflow file for this run
This file contains hidden or 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: | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| unit-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [20.x, 22.x] | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| fetch-depth: 0 | |
| - name: Setup node:${{ matrix.node-version }} | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| 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@5a3ec84eff668545956fd18022155c47e93e2684 #v4.2.3 | |
| 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: Check In-Repo Package Versions | |
| run: yarn run check-versions | |
| - name: build packages | |
| env: | |
| # Workaround for https://github.com/nodejs/node/issues/51555 | |
| DISABLE_V8_COMPILE_CACHE: '1' | |
| run: yarn run postinstall | |
| - 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 }} | |
| code-quality: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| check: ['lint', 'format', 'commit-lint', 'dependencies', 'audit'] | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Setup node 20 | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 20 | |
| - name: restore lerna dependencies | |
| id: lerna-cache | |
| uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 #v4.2.3 | |
| with: | |
| path: | | |
| node_modules | |
| modules/*/node_modules | |
| key: ${{ runner.os }}-node20-${{ 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 Source Code | |
| if: matrix.check == 'lint' | |
| run: yarn run lint | |
| - name: Check Source Code Formatting | |
| if: matrix.check == 'format' | |
| run: yarn run check-fmt | |
| - name: Lint Commit Messages | |
| if: matrix.check == 'commit-lint' | |
| run: | | |
| git fetch --unshallow origin $GITHUB_BASE_REF | |
| GITHUB_REPO_BRANCH=$GITHUB_BASE_REF yarn run check-commits | |
| - name: Check Package Dependencies | |
| if: matrix.check == 'dependencies' | |
| run: yarn run check-deps | |
| - name: Audit Dependencies | |
| if: matrix.check == 'audit' | |
| run: yarn run improved-yarn-audit --min-severity high | |
| license-analysis: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - name: Setup node 22 | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 22 | |
| - name: restore lerna dependencies | |
| id: lerna-cache | |
| uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 #v4.2.3 | |
| with: | |
| path: | | |
| node_modules | |
| modules/*/node_modules | |
| key: ${{ runner.os }}-node22-${{ hashFiles('yarn.lock') }}-${{ hashFiles('tsconfig.packages.json') }}-${{ hashFiles('**/package.json') }} | |
| - name: Install Packages | |
| if: steps.lerna-cache.outputs.cache-hit != 'true' | |
| run: yarn install --with-frozen-lockfile --ignore-scripts | |
| - name: build packages | |
| env: | |
| # Workaround for https://github.com/nodejs/node/issues/51555 | |
| DISABLE_V8_COMPILE_CACHE: '1' | |
| run: yarn run postinstall | |
| - name: Run Fossa Analysis | |
| uses: fossas/fossa-action@3ebcea1862c6ffbd5cf1b4d0bd6b3fe7bd6f2cac # v1.7.0 | |
| with: | |
| api-key: ${{ secrets.FOSSA_API_KEY }} | |
| branch: ${{ github.head_ref || github.ref_name }} | |
| project: BitGo/BitGoJS | |
| browser-test: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Setup node 20 | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 20 # 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@5a3ec84eff668545956fd18022155c47e93e2684 #v4.2.3 | |
| 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Setup Docker compatibility with Podman | |
| run: sudo ln -sf /usr/bin/podman /usr/local/bin/docker | |
| - name: Build BitGoJS Express Docker Image | |
| run: ./scripts/build-docker-express.sh | |
| dockerfile-check: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Setup node 22 | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: 22 | |
| - name: restore lerna dependencies | |
| id: lerna-cache | |
| uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 #v4.2.3 | |
| with: | |
| path: | | |
| node_modules | |
| modules/*/node_modules | |
| key: ${{ runner.os }}-node22-${{ 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: Check Dockerfile is up to date | |
| run: | | |
| yarn update-dockerfile | |
| if ! git diff --quiet; then | |
| echo "Dockerfile is not up to date. Please run 'yarn update-dockerfile' and commit the changes." | |
| git diff | |
| exit 1 | |
| fi |