name: Security and workflow regressions on: [push, pull_request, workflow_dispatch] permissions: contents: read jobs: regression: runs-on: ubuntu-latest timeout-minutes: 20 services: mariadb: image: mariadb:11.4 env: MARIADB_ROOT_PASSWORD: disposable-ci-password ports: ['3306:3306'] options: >- --health-cmd="healthcheck.sh --connect --innodb_initialized" --health-interval=5s --health-timeout=5s --health-retries=20 env: HCR_ENVIRONMENT: Development HCR_TEST_DSN: mysql:host=127.0.0.1;port=3306 HCR_TEST_USER: root HCR_TEST_PASSWORD: disposable-ci-password HCR_DB_HOST: 127.0.0.1 HCR_DB_PORT: 3306 HCR_DB_USER: root HCR_DB_PASSWORD: disposable-ci-password HCR_APPLICATION_URL: '' steps: - uses: actions/checkout@v4 - uses: shivammathur/setup-php@v2 with: php-version: '8.4' extensions: pdo_mysql, dom, simplexml, xsl, mbstring, openssl, zip, gd, fileinfo, curl tools: composer - uses: actions/setup-node@v4 with: node-version: '22' - uses: actions/setup-python@v5 with: python-version: '3.12' - run: composer install --no-interaction --prefer-dist - run: composer check-platform-reqs - run: composer audit --locked - run: python -m pip install lxml==6.0.2 - run: sudo apt-get update && sudo apt-get install -y mariadb-client - name: Install isolated test browser run: | npm install --prefix "$RUNNER_TEMP/hcr-browser" --ignore-scripts playwright@1.62.1 "$RUNNER_TEMP/hcr-browser/node_modules/.bin/playwright" install --with-deps chromium echo "NODE_PATH=$RUNNER_TEMP/hcr-browser/node_modules" >> "$GITHUB_ENV" echo "HCR_TEST_CHROME=$(node -p "require('$RUNNER_TEMP/hcr-browser/node_modules/playwright').chromium.executablePath()")" >> "$GITHUB_ENV" - run: python tests/run.py - run: python bin/build-release.py "$RUNNER_TEMP/hcr-release.zip"