Skip to content

chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do… #689

chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…

chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do… #689

Workflow file for this run

name: TAV
on:
workflow_dispatch:
push:
branches:
- main
paths-ignore:
- '**/*.md'
- '**/*.asciidoc'
- 'docs/**'
- 'examples/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
# limit the access of the generated GITHUB_TOKEN
permissions:
contents: read
jobs:
prepare-matrix:
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
permutations: ${{ steps.transform.outputs.permutations }}
steps:
- uses: actions/checkout@v4
- id: transform
name: Load matrix from tav.json
uses: actions/github-script@v7
with:
script: |
const fs = require('fs')
let matrix
try {
matrix = JSON.parse(fs.readFileSync('./.ci/tav.json'))
} catch (err) {
core.setFailed(`Error loading './.ci/tav.json': ${err}`)
return
}
const permutations = []
for (const mod of matrix.modules) {
for (const nv of matrix.versions) {
const nvMajor = Number(nv.split('.')[0])
if (mod.minMajorVersion && nvMajor >= mod.minMajorVersion) {
permutations.push(`${mod.name} ${nv}`)
}
}
}
if (permutations.length > 256) {
core.setFailed(`Matrix size (${permutations.length}) is bigger than the limit (256)`)
return
}
core.setOutput('permutations', permutations)
test-tav:
needs: prepare-matrix
runs-on: ubuntu-latest
timeout-minutes: 40
strategy:
max-parallel: 15
fail-fast: false
matrix:
# A job matrix limit is 256. We do some grouping of TAV modules to
# stay under that limit.
# https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
module_and_node: ${{ fromJSON(needs.prepare-matrix.outputs.permutations) }}
steps:
- uses: actions/checkout@v4
- run: .ci/scripts/test.sh -b "release" -t ${{ matrix.module_and_node }}
env:
ELASTIC_APM_CONTEXT_MANAGER: ''