X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-json_post;a=blobdiff_plain;f=scripts%2Fgen_github_workflow_ci.php;fp=scripts%2Fgen_github_workflow_ci.php;h=3c7761b8926a274aeb00676f6542b064bfd72a6e;hp=0000000000000000000000000000000000000000;hb=42cfc3bd986d24f7172e5e45a9959f782b65d010;hpb=39b52ea20ccd222e9205058e4a22e02d27ea53c5 diff --git a/scripts/gen_github_workflow_ci.php b/scripts/gen_github_workflow_ci.php new file mode 100755 index 0000000..3c7761b --- /dev/null +++ b/scripts/gen_github_workflow_ci.php @@ -0,0 +1,76 @@ +#!/usr/bin/env php + + +name: ci +on: + workflow_dispatch: + push: + pull_request: + +jobs: +github([ +"old-matrix" => [ + "PHP" => ["5.6", "7.0", "7.1", "7.2", "7.3", "7.4"], + "enable_debug" => "yes", + "enable_maintainer_zts" => "yes", +], +"master" => [ + "PHP" => "master", + "enable_debug" => "yes", + "enable_zts" => "yes", +], +"cur-dbg-zts" => [ + "PHP" => $cur, + "enable_debug", + "enable_zts", +], +"cur-cov" => [ + "CFLAGS" => "-O0 -g --coverage", + "CXXFLAGS" => "-O0 -g --coverage", + "PHP" => $cur, +]]); +foreach ($job as $id => $env) { + printf(" %s:\n", $id); + printf(" name: %s\n", $id); + if ($env["PHP"] == "master") { + printf(" continue-on-error: true\n"); + } + printf(" env:\n"); + foreach ($env as $key => $val) { + printf(" %s: \"%s\"\n", $key, $val); + } +?> + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Install + run: | + sudo apt-get install -y \ + php-cli \ + php-pear \ + re2c + - name: Prepare + run: | + make -f scripts/ci/Makefile php || make -f scripts/ci/Makefile clean php + - name: Build + run: | + make -f scripts/ci/Makefile ext PECL=json_post + - name: Test + run: | + make -f scripts/ci/Makefile test + + - name: Coverage + if: success() + run: | + cd .libs + bash <(curl -s https://codecov.io/bash) -X xcode -X coveragepy + + +