Skip to content

Merge pull request #491 from solarwinds/dependabot/npm_and_yarn/otel-… #2368

Merge pull request #491 from solarwinds/dependabot/npm_and_yarn/otel-…

Merge pull request #491 from solarwinds/dependabot/npm_and_yarn/otel-… #2368

Workflow file for this run

name: Checks
on:
- push
- pull_request
- workflow_dispatch
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
submodules: true
- uses: actions/setup-node@v4
with:
node-version: 20
- run: corepack enable
- uses: actions/cache@v4
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- uses: actions/cache@v4
with:
path: |
~/.zig-build
~/.cache/zig
key: zig-${{ hashFiles('yarn.lock') }}
restore-keys: |
zig-
- run: yarn install --immutable
- run: yarn build
- run: yarn lint --affected
- run: yarn test --affected
env:
SW_APM_COLLECTOR: ${{ secrets.SW_APM_COLLECTOR }}
SW_APM_SERVICE_KEY: ${{ secrets.SW_APM_SERVICE_KEY }}
# load bearing .root file
# actions/upload-artifact will make the archive root the topmost directory which contains all specified files
# we can force it to be the root of the repo by including an empty file present at the root
# see https://github.com/actions/upload-artifact#upload-using-multiple-paths-and-exclusions
- run: touch .root
- if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: build
path: |
.root
packages/**/dist/
packages/solarwinds-apm/src/version.ts
packages/bindings/npm/*/*.node
packages/bindings/npm/*/liboboe.so
retention-days: 1
versions:
if: github.event_name == 'pull_request' && !contains(github.head_ref, 'release')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
submodules: true
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
- run: corepack enable
- uses: actions/cache@v4
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- run: yarn version check
linux:
if: github.event_name == 'pull_request'
needs:
- checks
runs-on: ${{ matrix.arch == 'arm64' && fromJSON('{"group":"apm-arm-runner"}') || 'ubuntu-latest' }}
strategy:
matrix:
image:
- 18-alpine3.17
- 18-amazonlinux2023
- 18-debian10
- 18-ubi8
- 18-ubuntu20.04
- 20-alpine
- 20-amazonlinux
- 20-debian
- 20-ubi
- 20-ubuntu
- 22-alpine
- 22-amazonlinux
- 22-debian
- 22-ubi
- 22-ubuntu
arch:
- x64
- arm64
# https://github.com/actions/runner/issues/801
exclude:
- image: 18-alpine3.17
arch: arm64
- image: 20-alpine
arch: arm64
- image: 22-alpine
arch: arm64
fail-fast: false
container:
image: ghcr.io/${{ github.repository }}/dev:${{ matrix.image }}
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
env:
YARN_IGNORE_NODE: 1
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/download-artifact@v4
with:
name: build
path: ./
- uses: actions/cache@v4
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- run: yarn test --only
env:
SW_APM_COLLECTOR: ${{ secrets.SW_APM_COLLECTOR }}
SW_APM_SERVICE_KEY: ${{ secrets.SW_APM_SERVICE_KEY }}
windows:
if: github.event_name == 'pull_request'
needs:
- checks
runs-on: windows-latest
strategy:
matrix:
node:
- 18
- 20
- 22
fail-fast: false
env:
YARN_IGNORE_NODE: 1
steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/download-artifact@v4
with:
name: build
path: ./
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: corepack enable
- uses: actions/cache@v4
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- run: yarn test --only
env:
SW_APM_COLLECTOR: ${{ secrets.SW_APM_COLLECTOR }}
SW_APM_SERVICE_KEY: ${{ secrets.SW_APM_SERVICE_KEY }}