Skip to content

HTTP CONNECT Proxying #3257

HTTP CONNECT Proxying

HTTP CONNECT Proxying #3257

Workflow file for this run

name: Checks
on:
- push
- pull_request
- workflow_dispatch
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- 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 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
retention-days: 1
versions:
if: github.event_name == 'pull_request' && !contains(github.head_ref, 'release')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: actions/setup-node@v5
with:
node-version: 22
package-manager-cache: false
- 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
- 24-alpine
- 24-amazonlinux
- 24-debian
- 24-ubi
- 24-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
- image: 24-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@v5
- uses: actions/download-artifact@v5
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
- 24
fail-fast: false
env:
YARN_IGNORE_NODE: 1
steps:
- uses: actions/checkout@v5
- uses: actions/download-artifact@v5
with:
name: build
path: ./
- uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node }}
package-manager-cache: false
- 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 }}
supports:
if: github.event_name == 'pull_request'
needs:
- checks
runs-on: ubuntu-latest
strategy:
matrix:
# Include versions from the most recent until the first unsupported
include:
# LTS
- node: 24
pass: true
- node: 22
pass: true
- node: 20
pass: true
- node: 18
pass: true
- node: 16
pass: false
# Unstable
- node: 23
pass: false
# Sanity check
- node: 8
pass: false
fail-fast: false
steps:
- uses: actions/checkout@v5
- uses: actions/download-artifact@v5
with:
name: build
path: ./
- uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node }}
package-manager-cache: false
- run: rm package.json && rm yarn.lock && npm install --no-save node-releases
- run: node -e "require('assert').ok(${OP} require('${FILE}'))"
env:
OP: ${{ !matrix.pass && '!' || '' }}
FILE: ./packages/solarwinds-apm/dist/commonjs/version.js