xref: /PHP-8.0/.github/workflows/push.yml (revision 75970077)
1name: Push
2on:
3  push:
4    paths-ignore:
5      - docs/*
6      - NEWS
7      - UPGRADING
8      - UPGRADING.INTERNALS
9      - README.md
10      - CONTRIBUTING.md
11      - CODING_STANDARDS.md
12    branches:
13      - PHP-7.4
14      - PHP-8.0
15      - PHP-8.1
16      - master
17  pull_request:
18    branches:
19      - '**'
20jobs:
21  LINUX_X64:
22    strategy:
23      fail-fast: false
24      matrix:
25        include:
26          - debug: true
27            zts: false
28          - debug: false
29            zts: true
30    name: "LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
31    runs-on: ubuntu-20.04
32    steps:
33      - name: git checkout
34        uses: actions/checkout@v3
35      - name: Create MSSQL container
36        uses: ./.github/actions/setup-mssql
37      - name: Create Oracle container
38        uses: ./.github/actions/setup-oracle
39      - name: apt
40        uses: ./.github/actions/apt-x64
41      - name: ./configure
42        uses: ./.github/actions/configure-x64
43        with:
44          configurationParameters: >-
45            --${{ matrix.debug && 'enable' || 'disable' }}-debug
46            --${{ matrix.zts && 'enable' || 'disable' }}-zts
47      - name: make
48        run: make -j$(/usr/bin/nproc) >/dev/null
49      - name: make install
50        uses: ./.github/actions/install-linux
51      - name: Setup
52        uses: ./.github/actions/setup-x64
53      - name: Test
54        uses: ./.github/actions/test-linux
55      - name: Test Tracing JIT
56        uses: ./.github/actions/test-linux
57        with:
58          runTestsParameters: >-
59            -d zend_extension=opcache.so
60            -d opcache.enable_cli=1
61            -d opcache.jit_buffer_size=16M
62      - name: Verify generated files are up to date
63        uses: ./.github/actions/verify-generated-files
64  LINUX_X32:
65    name: LINUX_X32_DEBUG_ZTS
66    runs-on: ubuntu-latest
67    container:
68      image: ubuntu:20.04
69    env:
70      MYSQL_TEST_HOST: mysql
71      PDO_MYSQL_TEST_DSN: mysql:host=mysql;dbname=test
72      PDO_MYSQL_TEST_HOST: mysql
73    services:
74      mysql:
75        image: mysql:8
76        ports:
77          - 3306:3306
78        env:
79          MYSQL_DATABASE: test
80          MYSQL_ROOT_PASSWORD: root
81    steps:
82      - name: git checkout
83        uses: actions/checkout@v3
84      - name: apt
85        uses: ./.github/actions/apt-x32
86      - name: ./configure
87        uses: ./.github/actions/configure-x32
88        with:
89          configurationParameters: >-
90            --enable-debug
91            --enable-zts
92      - name: make
93        run: make -j$(/usr/bin/nproc) >/dev/null
94      - name: make install
95        uses: ./.github/actions/install-linux-x32
96      - name: Test
97        uses: ./.github/actions/test-linux
98      - name: Test Tracing JIT
99        uses: ./.github/actions/test-linux
100        with:
101          runTestsParameters: >-
102            -d zend_extension=opcache.so
103            -d opcache.enable_cli=1
104            -d opcache.jit_buffer_size=16M
105  MACOS_DEBUG_NTS:
106    runs-on: macos-11
107    steps:
108      - name: git checkout
109        uses: actions/checkout@v3
110      - name: brew
111        uses: ./.github/actions/brew
112      - name: ./configure
113        uses: ./.github/actions/configure-macos
114        with:
115          configurationParameters: --enable-debug --disable-zts
116      - name: make
117        run: |-
118          export PATH="/usr/local/opt/bison/bin:$PATH"
119          make -j$(sysctl -n hw.logicalcpu) >/dev/null
120      - name: make install
121        run: sudo make install
122      - name: Test
123        uses: ./.github/actions/test-macos
124      - name: Test Tracing JIT
125        uses: ./.github/actions/test-macos
126        with:
127          runTestsParameters: >-
128            -d zend_extension=opcache.so
129            -d opcache.enable_cli=1
130            -d opcache.protect_memory=1
131            -d opcache.jit_buffer_size=16M
132      - name: Verify generated files are up to date
133        uses: ./.github/actions/verify-generated-files
134