diff --git a/.github/actions/apt-x64/action.yml b/.github/actions/apt-x64/action.yml index 72bc3b3673b17..8f2f608278f07 100644 --- a/.github/actions/apt-x64/action.yml +++ b/.github/actions/apt-x64/action.yml @@ -6,8 +6,21 @@ runs: run: | set -x - sudo apt-get update - sudo apt-get install \ + export DEBIAN_FRONTEND=noninteractive + + # Install sudo in Docker for consistent actions + if ! type "sudo" > /dev/null; then + apt-get update -y | true + apt-get install -y sudo + fi + + sudo apt-get update -y | true + sudo apt-get install -y \ + autoconf \ + gcc \ + make \ + curl \ + unzip \ bison \ re2c \ locales \ @@ -20,6 +33,7 @@ runs: libtidy-dev \ libenchant-2-dev \ libaspell-dev \ + libbz2-dev \ libpspell-dev \ libsasl2-dev \ libxpm-dev \ diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index f2f44dc23a59a..048492913da39 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -37,12 +37,21 @@ env: jobs: LINUX_X64: services: + mysql: + image: mysql:8 + env: + MYSQL_DATABASE: test + MYSQL_ROOT_PASSWORD: root postgres: image: postgres env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: test + env: + MYSQL_TEST_HOST: mysql + PDO_MYSQL_TEST_DSN: mysql:host=mysql;dbname=test + PDO_MYSQL_TEST_HOST: mysql strategy: fail-fast: false matrix: @@ -55,18 +64,21 @@ jobs: asan: true name: "LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}${{ matrix.asan && '_ASAN' || '' }}" runs-on: ubuntu-22.04 + container: + image: ${{ matrix.asan && 'ubuntu:23.04' || null }} steps: - name: git checkout uses: actions/checkout@v3 + - name: apt + uses: ./.github/actions/apt-x64 - name: Create MSSQL container + if: ${{ !matrix.asan }} uses: ./.github/actions/setup-mssql - name: Create Oracle container if: ${{ !matrix.asan }} uses: ./.github/actions/setup-oracle - name: Setup Caddy server uses: ./.github/actions/setup-caddy - - name: apt - uses: ./.github/actions/apt-x64 - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -88,6 +100,7 @@ jobs: - name: make install uses: ./.github/actions/install-linux - name: Setup + if: ${{ !matrix.asan }} uses: ./.github/actions/setup-x64 - name: Test if: matrix.asan == false @@ -104,6 +117,7 @@ jobs: ${{ !matrix.asan && '-d opcache.jit_buffer_size=16M' || '' }} ${{ matrix.asan && '--asan -x' || '' }} - name: Verify generated files are up to date + if: ${{ !matrix.asan }} uses: ./.github/actions/verify-generated-files MACOS_DEBUG_NTS: runs-on: macos-11