Skip to content

fix: lazy load grpc-js #2372

fix: lazy load grpc-js

fix: lazy load grpc-js #2372

Workflow file for this run

name: Continuous Integration
on:
push:
pull_request:
permissions: read-all
jobs:
prebuilds-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
container: ['node:14.0.0']
node_api_target: ['14.0.0', '15.0.0', '16.0.0', '17.0.1', '18.0.0']
container: ${{ matrix.container }}
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
- name: Install npm dependencies
run: npm ci --ignore-scripts --no-optional
- name: Prebuild
run: npm run prebuild:os ${{ matrix.node_api_target }}
- name: upload prebuilds
uses: actions/upload-artifact@v3
with:
name: prebuilds-linux
path: prebuilds
prebuilds-macos-windows:
strategy:
fail-fast: false
matrix:
os: [windows-2019, macos-11]
node_api_target: ['14.0.0', '15.0.0', '16.0.0', '17.0.1', '18.0.0']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: Install npm dependencies
run: npm ci --ignore-scripts
- name: Prebuild
run: npm run prebuild:os ${{ matrix.node_api_target }}
- name: upload prebuilds
uses: actions/upload-artifact@v3
with:
name: prebuilds-macos-windows
path: prebuilds
create-package:
needs: [prebuilds-linux, prebuilds-macos-windows]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- name: download prebuilds
uses: actions/download-artifact@v3
- name: copy prebuilds
run: |
mkdir -p prebuilds
cp -r prebuilds-linux/* prebuilds
cp -r prebuilds-macos-windows/* prebuilds
- name: Install npm dependencies
run: npm ci --ignore-scripts
- name: Build
run: npm run compile
- name: Pack
id: pack
run: |
echo "::set-output name=package_file::$(npm pack)"
- name: Upload package
uses: actions/upload-artifact@v3
with:
name: ${{ steps.pack.outputs.package_file }}
path: ${{ steps.pack.outputs.package_file }}
unit-tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest', 'windows-2019', 'macos-latest']
nodejs: ['14', '16', '17', '18']
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodejs }}
- name: Install npm dependencies
run: npm ci
- name: Test
run: npm run test
- name: Report Coverage
if: ${{matrix.nodejs == '16' && matrix.os == 'ubuntu-latest'}}
uses: codecov/codecov-action@v3
with:
verbose: true
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Install npm dependencies
run: npm ci
- name: Build
run: npm run compile
platform-check:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
nodejs: [14]
include:
- container: 'centos:7'
- cmd: 'curl -sL https://rpm.nodesource.com/setup_${NODE_VERSION}.x | bash - && yum install -y nodejs gcc-c++ make'
name: Platform check - ${{ matrix.container }} - Node.js ${{ matrix.nodejs }}
container: ${{ matrix.container }}
env:
NODE_VERSION: ${{ matrix.nodejs }}
steps:
- name: Setup container
run: ${{ matrix.cmd }}
- name: Checkout
uses: actions/checkout@v3
- name: Install npm dependencies
run: npm ci --ignore-scripts --no-optional
- name: Compile native
run: npm run prebuild:current
- name: Run tests
run: npm run test
e2e-local:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- target: ''
name: 'Basic'
- target: '-f express.override.yml'
name: 'Express'
- target: '-f mixed.override.yml'
name: 'Mixed'
- target: '-f log-injection.override.yml'
name: 'Log injection'
- target: '-f profiling.override.yml'
name: 'Profiling'
name: e2e local ${{ matrix.name }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Test ${{ matrix.name }} example
working-directory: test/examples
run: docker-compose -f e2e.docker-compose.yml ${{ matrix.target }} up --exit-code-from test