Epoll Regression Tests #4161
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |