HEX
Server: Apache
System: Linux dinesh8189 5.15.98-grsec-sharedvalley-2.lc.el8.x86_64 #1 SMP Thu Mar 9 09:07:30 -03 2023 x86_64
User: cgmgerenciamento1 (814285)
PHP: 8.1.26
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //proc/thread-self/root/usr/local/modsecurity-crs/.github/workflows/test.yml
name: Regression Tests

on:
  push:
    branches:
      - main
      - v3.3/dev
      - v3.3/master
    paths:
      - 'rules/**'
      - 'tests/**'
      - '.github/**'
  pull_request:
    branches:
      - main
      - v3.3/dev
      - v3.3/master
    paths:
      - 'rules/**'
      - 'tests/**'
      - 'util/**'
      - '.github/**'
  merge_group:

# Pin tool versions to prevent problems
env:
  GO_FTW_VERSION: '1.3.0'

jobs:
  regression:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        modsec_version: [modsec2-apache, modsec3-nginx]
    steps:
      - name: "Checkout repo"
        uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.2

      - name: "Install dependencies"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh release download -R coreruleset/go-ftw "v${{ env.GO_FTW_VERSION }}" \
            -p "ftw_${{ env.GO_FTW_VERSION }}_linux_amd64.tar.gz" -O - | tar -xzvf - ftw

      - name: "Run tests for ${{ matrix.modsec_version }}"
        run: |
          mkdir -p "tests/logs/${{ matrix.modsec_version }}/{nginx,apache2}"
          docker compose -f ./tests/docker-compose.yml up -d "${{ matrix.modsec_version }}"
          echo "Waiting for container to become ready"
          curl --retry 5 --retry-connrefused --retry-delay 2 localhost || true
          sleep 5
          docker compose -f ./tests/docker-compose.yml logs
          if ! [ "$(docker inspect ${{ matrix.modsec_version }} --format='{{.State.Running}}')" = "true" ]; then
            echo "Web server failed to start. Aborting."
            exit 1
          fi

          ./ftw check -d tests/regression/tests
          ./ftw run \
            -d tests/regression/tests \
            --log-file "tests/logs/${{ matrix.modsec_version }}/error.log" \
            --overrides tests/regression/${{ matrix.modsec_version == 'modsec2-apache' && 'httpd' || 'nginx' }}-overrides.yaml \
            --show-failures-only

      - name: "Change permissions of artifacts for upload"
        if: failure()
        run: |
          # Files created from the container will belong to root
          sudo chmod -R a+r tests/logs

      - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
        if: failure()
        with:
          name: waf-logs-${{ matrix.modsec_version }}
          path: tests/logs/${{ matrix.modsec_version }}

      - name: Clean docker-compose
        run: |
          docker compose -f ./tests/docker-compose.yml stop "${{ matrix.modsec_version }}"
          docker compose -f ./tests/docker-compose.yml down