Skip to content

fix tests

fix tests #909

Workflow file for this run

name: Checks
on:
- push
- pull_request
- workflow_dispatch
jobs:
checks:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get update && sudo apt-get install -y clang-format
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/setup-node@v4
with:
node-version: 20
- run: corepack enable
- uses: actions/cache@v3
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- uses: actions/cache@v3
with:
path: |
~/.zig-build
~/.cache/zig
key: zig-${{ hashFiles('yarn.lock') }}
restore-keys: |
zig-
- run: yarn install --immutable
- run: yarn build
- run: yarn lint
- run: yarn test
env:
TEST_SERVICE_KEY: ${{ secrets.TEST_SERVICE_KEY }}
TEST_COLLECTOR: ${{ secrets.TEST_COLLECTOR }}
# 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@v3
with:
name: build
path: |
.root
packages/**/dist/
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
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
- run: corepack enable
- uses: actions/cache@v3
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- run: yarn version check
launch-arm64:
if: github.event_name == 'pull_request'
outputs:
matrix: ${{ steps.launch.outputs.matrix }}
runs-on: ubuntu-latest
steps:
- uses: getsentry/action-github-app-token@v2
id: github-token
with:
app_id: ${{ vars.APPLICATION_ID }}
private_key: ${{ secrets.APPLICATION_PRIVATE_KEY }}
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.CI_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.CI_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- id: launch
uses: solarwinds/ec2-runner-action@main
with:
action: launch
github-token: ${{ steps.github-token.outputs.token }}
matrix: |
16-amazonlinux2023
16-debian10
16-ubi8
16-ubuntu20.04
18-amazonlinux
18-debian
18-ubi
18-ubuntu
20-amazonlinux
20-debian
20-ubi
20-ubuntu
runner-user: github
runner-directory: /gh
instance-type: t4g.medium
ami-name: gha-arm64-ubuntu22-.*
ami-owner: "858939916050"
subnet-id: subnet-0fd499f8a50e41807
security-group-ids: sg-0fd8d8cd6effda4a5
tests:
if: github.event_name == 'pull_request'
needs:
- checks
- launch-arm64
runs-on: ${{ matrix.arch == 'arm64' && fromJSON(needs.launch-arm64.outputs.matrix)[matrix.image].label || 'ubuntu-latest' }}
strategy:
matrix:
image:
- 16-alpine3.16
- 16-amazonlinux2023
- 16-debian10
- 16-ubi8
- 16-ubuntu20.04
- 18-alpine
- 18-amazonlinux
- 18-debian
- 18-ubi
- 18-ubuntu
- 20-alpine
- 20-amazonlinux
- 20-debian
- 20-ubi
- 20-ubuntu
arch:
- x64
- arm64
# https://github.com/actions/runner/issues/801
exclude:
- image: 16-alpine3.16
arch: arm64
- image: 18-alpine
arch: arm64
- image: 20-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@v3
with:
name: build
path: ./
- uses: actions/cache@v3
with:
path: .yarn/cache
key: yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
yarn-
- run: yarn install --immutable
- run: yarn test --only
env:
TEST_SERVICE_KEY: ${{ secrets.TEST_SERVICE_KEY }}
TEST_COLLECTOR: ${{ secrets.TEST_COLLECTOR }}
terminate-arm64:
if: always() && github.event_name == 'pull_request'
needs:
- launch-arm64
- tests
runs-on: ubuntu-latest
steps:
- uses: getsentry/action-github-app-token@v2
id: github-token
with:
app_id: ${{ vars.APPLICATION_ID }}
private_key: ${{ secrets.APPLICATION_PRIVATE_KEY }}
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.CI_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.CI_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- uses: solarwinds/ec2-runner-action@main
with:
action: terminate
github-token: ${{ steps.github-token.outputs.token }}
matrix: ${{ needs.launch-arm64.outputs.matrix }}