From e729f932cc2530420a06fc05fdc8e5509d5468f9 Mon Sep 17 00:00:00 2001 From: Go Kudo Date: Thu, 22 Aug 2024 01:30:41 +0900 Subject: [PATCH] octocov wip --- .github/workflows/ci.yaml | 184 ++++++++++++++++---------------- .github/workflows/coverage.yaml | 2 + 2 files changed, 94 insertions(+), 92 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f7f7335..3c6b85d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,92 +1,92 @@ -name: CI -on: - push: - branches: - - main - pull_request: - schedule: - - cron: '0 0 * * 1' -permissions: - contents: write - pull-requests: write -jobs: - Linux: - runs-on: ubuntu-latest - strategy: - matrix: - platform: ['linux/amd64', 'linux/arm64/v8', 'linux/s390x'] - version: ['8.1', '8.2', '8.3'] - type: ['cli', 'zts'] - distro: ['bookworm', 'alpine'] - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup QEMU - uses: docker/setup-qemu-action@v3 - with: - platforms: "arm64,s390x" - - name: Setup buildx - uses: docker/setup-buildx-action@v3 - - name: Build container - run: | - docker compose build --pull --no-cache --build-arg PLATFORM="${{ matrix.platform }}" --build-arg IMAGE="php" --build-arg TAG="${{ matrix.version }}-${{ matrix.type }}-${{ matrix.distro }}" - - name: Test extension with Bundled PHP - run: | - docker compose run --rm shell pskel test - - name: Test extension with PHP Debug Build - if: matrix.platform == 'linux/amd64' - run: | - docker compose run --rm shell pskel test debug - - name: Test extension with Valgrind - if: matrix.platform == 'linux/amd64' - run: | - docker compose run --rm shell pskel test valgrind - - name: Test extension with LLVM Sanitizer (MemorySanitizer) - if: matrix.platform == 'linux/amd64' && matrix.distro != 'alpine' - run: | - docker compose run --rm shell pskel test msan - - name: Test extension with LLVM Sanitizer (AddressSanitizer) - if: matrix.platform == 'linux/amd64' && matrix.distro != 'alpine' - run: | - docker compose run --rm shell pskel test asan - - name: Test extension with LLVM Sanitizer (UndefinedBehaviorSanitizer) - if: matrix.platform == 'linux/amd64' && matrix.distro != 'alpine' - run: | - docker compose run --rm shell pskel test ubsan - # Windows: - # runs-on: windows-2022 - # defaults: - # run: - # shell: cmd - # strategy: - # matrix: - # platform: ["x64"] - # version: ["8.1", "8.2", "8.3"] - # ts: ["nts", "ts"] - # steps: - # - name: Checkout - # uses: actions/checkout@v4 - # - name: Setup PHP - # id: setup-php - # uses: php/setup-php-sdk@v0.8 - # with: - # platform: ${{ matrix.platform }} - # version: ${{ matrix.version }} - # ts: ${{ matrix.ts }} - # - name: Enable developer command prompt - # uses: ilammy/msvc-dev-cmd@v1 - # with: - # platform: ${{ matrix.platform }} - # toolset: ${{ steps.setup-php.outputs.toolset }} - # - name: phpize - # working-directory: ext - # run: phpize - # - name: configure - # working-directory: ext - # run: configure --enable-SKELETON_NAME --with-prefix=${{ steps.setup-php.outputs.prefix }} - # - name: make - # working-directory: ext - # run: nmake - # - name: test - # working-directory: ext - # run: nmake test TESTS="--show-diff tests" +# name: CI +# on: +# push: +# branches: +# - main +# pull_request: +# schedule: +# - cron: '0 0 * * 1' +# permissions: +# contents: write +# pull-requests: write +# jobs: +# Linux: +# runs-on: ubuntu-latest +# strategy: +# matrix: +# platform: ['linux/amd64', 'linux/arm64/v8', 'linux/s390x'] +# version: ['8.1', '8.2', '8.3'] +# type: ['cli', 'zts'] +# distro: ['bookworm', 'alpine'] +# steps: +# - name: Checkout +# uses: actions/checkout@v4 +# - name: Setup QEMU +# uses: docker/setup-qemu-action@v3 +# with: +# platforms: "arm64,s390x" +# - name: Setup buildx +# uses: docker/setup-buildx-action@v3 +# - name: Build container +# run: | +# docker compose build --pull --no-cache --build-arg PLATFORM="${{ matrix.platform }}" --build-arg IMAGE="php" --build-arg TAG="${{ matrix.version }}-${{ matrix.type }}-${{ matrix.distro }}" +# - name: Test extension with Bundled PHP +# run: | +# docker compose run --rm shell pskel test +# - name: Test extension with PHP Debug Build +# if: matrix.platform == 'linux/amd64' +# run: | +# docker compose run --rm shell pskel test debug +# - name: Test extension with Valgrind +# if: matrix.platform == 'linux/amd64' +# run: | +# docker compose run --rm shell pskel test valgrind +# - name: Test extension with LLVM Sanitizer (MemorySanitizer) +# if: matrix.platform == 'linux/amd64' && matrix.distro != 'alpine' +# run: | +# docker compose run --rm shell pskel test msan +# - name: Test extension with LLVM Sanitizer (AddressSanitizer) +# if: matrix.platform == 'linux/amd64' && matrix.distro != 'alpine' +# run: | +# docker compose run --rm shell pskel test asan +# - name: Test extension with LLVM Sanitizer (UndefinedBehaviorSanitizer) +# if: matrix.platform == 'linux/amd64' && matrix.distro != 'alpine' +# run: | +# docker compose run --rm shell pskel test ubsan +# # Windows: +# # runs-on: windows-2022 +# # defaults: +# # run: +# # shell: cmd +# # strategy: +# # matrix: +# # platform: ["x64"] +# # version: ["8.1", "8.2", "8.3"] +# # ts: ["nts", "ts"] +# # steps: +# # - name: Checkout +# # uses: actions/checkout@v4 +# # - name: Setup PHP +# # id: setup-php +# # uses: php/setup-php-sdk@v0.8 +# # with: +# # platform: ${{ matrix.platform }} +# # version: ${{ matrix.version }} +# # ts: ${{ matrix.ts }} +# # - name: Enable developer command prompt +# # uses: ilammy/msvc-dev-cmd@v1 +# # with: +# # platform: ${{ matrix.platform }} +# # toolset: ${{ steps.setup-php.outputs.toolset }} +# # - name: phpize +# # working-directory: ext +# # run: phpize +# # - name: configure +# # working-directory: ext +# # run: configure --enable-SKELETON_NAME --with-prefix=${{ steps.setup-php.outputs.prefix }} +# # - name: make +# # working-directory: ext +# # run: nmake +# # - name: test +# # working-directory: ext +# # run: nmake test TESTS="--show-diff tests" diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index d4e4e42..556ae82 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -40,6 +40,8 @@ jobs: needs: [Linux] runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@v4 - name: Download coverage artifacts uses: actions/download-artifact@v4 - name: Merge coverages