Skip to content

Regression Tests

Regression Tests #9267

name: Regression Tests
on:
schedule:
- cron: "0 0/3 * * *"
workflow_dispatch:
jobs:
build:
strategy:
matrix:
# Test of these containers
container: ["ubuntu-dev:20-gcc14"]
proactor: [Uring]
build-type: [Debug, Release]
runner: [ubuntu-latest, [self-hosted, linux, ARM64]]
runs-on: ${{ matrix.runner }}
permissions:
id-token: write
contents: read
container:
image: ghcr.io/romange/${{ matrix.container }}
options: --security-opt seccomp=unconfined --sysctl "net.ipv6.conf.all.disable_ipv6=0"
volumes:
- /var/crash:/var/crash
- /:/hostroot
- /mnt:/mnt
steps:
- uses: actions/checkout@v6
with:
submodules: true
- name: Print environment info
run: |
cat /proc/cpuinfo
ulimit -a
env
lsblk -l
- name: Configure & Build
run: |
# -no-pie to disable address randomization so we could symbolize stacktraces
cmake -B ${GITHUB_WORKSPACE}/build -DCMAKE_BUILD_TYPE=${{matrix.build-type}} -GNinja \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DPRINT_STACKTRACES_ON_SIGNAL=ON \
-DCMAKE_CXX_FLAGS=-no-pie -DHELIO_STACK_CHECK:STRING=4096
cd ${GITHUB_WORKSPACE}/build && ninja dragonfly
pwd
ls -l ..
- name: Authenticate to AWS
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: ${{ secrets.AWS_CI_S3_ROLE_ARN }}
aws-region: us-east-1
- name: Run regression tests action
uses: ./.github/actions/regression-tests
with:
dfly-executable: dragonfly
gspace-secret: ${{ secrets.GSPACES_BOT_DF_BUILD }}
build-folder-name: build
filter: ${{ matrix.build-type == 'Release' && 'not debug_only' || 'not opt_only' }}
s3-bucket: ${{ secrets.S3_REGTEST_BUCKET }}
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v6
with:
name: logs
path: /tmp/failed/*
lint-test-chart:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lint-test-chart