name: CI on: push: branches-ignore: - 'main' env: BUILDER_VERSION: v0.8.18 BUILDER_SOURCE: releases BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net PACKAGE_NAME: aws-crt-php LINUX_BASE_IMAGE: ubuntu-16-x64 RUN: ${{ github.run_id }}-${{ github.run_number }} jobs: # php-5_5-linux-x64: # name: php-linux-x64 (5.5) # runs-on: ubuntu-latest # steps: # - name: Setup PHP with Xdebug # uses: shivammathur/setup-php@v2 # with: # coverage: xdebug # php-version: 5.5 # ini-values: xdebug.overload_var_dump=0, memory_limit=4G, phar.readonly=false # - name: Checkout # uses: actions/checkout@v2 # with: # submodules: recursive # - name: Install ancient PHPUnit # run: composer require --dev --ignore-platform-reqs phpunit/phpunit "4.8.36" # - name: Install dependencies # run: composer update --no-interaction # - name: Build for PHP 5.5 # env: # CC: clang # CXX: clang++ # run: | # phpize # ./configure # make # php-linux-x64: # runs-on: ubuntu-latest # strategy: # fail-fast: false # matrix: # version: # - "5.6" # - "7.0" # - "7.1" # - "7.2" # - "7.3" # - "7.4" # - "8.0" # steps: # - name: Setup PHP with Xdebug # uses: shivammathur/setup-php@v2 # with: # coverage: xdebug # php-version: ${{matrix.version}} # ini-values: xdebug.overload_var_dump=0, memory_limit=4G, phar.readonly=false # - name: Checkout # uses: actions/checkout@v2 # with: # submodules: recursive # - name: Install dependencies # run: composer update --no-interaction # - name: Run tests # env: # CC: clang # CXX: clang++ # run: | # phpize # ./configure # make # make test # # linux-arm: # name: ARM (${{ matrix.arch }}) # runs-on: ubuntu-latest # strategy: # matrix: # arch: [armv6, armv7, arm64] # steps: # - name: Build ${{ env.PACKAGE_NAME }} # run: | # python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" # chmod a+x builder # ./builder build -p ${{ env.PACKAGE_NAME }} --target=linux-${{ matrix.arch }} --spec=downstream windows-vs16: runs-on: windows-2019 strategy: matrix: arch: [x64] steps: - name: Checkout Sources uses: actions/checkout@v2 with: submodules: recursive - name: Setup PHP 8.0 uses: shivammathur/setup-php@v2 with: php-version: '8.0' extensions: pecl_http, mbstring - name: Build ${{ env.PACKAGE_NAME }} + consumers run: | cd ..\ git clone https://github.com/Microsoft/php-sdk-binary-tools.git php-sdk .\php-sdk\phpsdk-vs16-x64.bat -t .\aws-crt-php\win_build.bat --task-args %CD%\aws-crt-php macos: runs-on: macos-${{ matrix.version }} strategy: matrix: version: [10.15] steps: # Force PHP to 8.0 # Doing this because tests fail in PHP 8.1 (default on macos Github Runner as of Dec 2021) # due to the old version of PHPUnit we're using. # We're using an old PHPUnit because it's compatible our min supported PHP 5.5. # Quick fix is to force PHP version back to 8.0, which can still run our tests without error. # A real solution is to get our tests working on all PHP versions # (maybe don't use PHPUnit, maybe raise our min supported PHP version so we can upgrade, # or maybe use PHPUnit-Polyfills so we can use a modern PHPUnit with old PHP) - name: Setup PHP 8.0 uses: shivammathur/setup-php@v2 with: php-version: '8.0' - name: Build PHP 8 extension and test run: | python3 -c "from urllib.request import urlretrieve; urlretrieve('${{ env.BUILDER_HOST }}/${{ env.BUILDER_SOURCE }}/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder')" chmod a+x builder ./builder build -p ${{ env.PACKAGE_NAME }} --spec=downstream