Skip to content

Epoll Regression Tests #4161

Epoll Regression Tests

Epoll Regression Tests #4161

name: Epoll Regression Tests
on:
schedule:
- cron: "0 0/3 * * *"
workflow_dispatch:
jobs:
build:
if: github.repository == 'dragonflydb/dragonfly'
strategy:
matrix:
# Test of these containers
container: ["ubuntu-dev:24"]
proactor: [Epoll]
build-type: [Debug]
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
- name: Build Dragonfly
uses: ./.github/actions/builder
with:
build-type: ${{matrix.build-type}}
targets: 'dragonfly'
- name: Authenticate to AWS
if: github.repository_owner == 'dragonflydb' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
uses: aws-actions/configure-aws-credentials@v6
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 empty' || 'not opt_only' }}
s3-bucket: ${{ secrets.S3_REGTEST_BUCKET }}
junit-s3-bucket: ${{ secrets.S3_REGTEST_BUCKET }}
aws-role-to-assume: ${{ secrets.AWS_CI_S3_ROLE_ARN }}
# Chain ternary oprator of the form (which can be nested)
# (expression == condition && <true expression> || <false expression>)
epoll: ${{ matrix.proactor == 'Epoll' && 'epoll' || 'iouring' }}
- name: Upload logs on failure
if: failure()
uses: actions/upload-artifact@v7
with:
name: logs
path: /tmp/failed/*
lint-test-chart:
if: github.repository == 'dragonflydb/dragonfly'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/lint-test-chart