php / php-windows-builder

Tooling to build PHP and extensions on Windows
MIT License
28 stars 18 forks source link

tests running too early (before compilation check) #5

Open DanielRuf opened 1 week ago

DanielRuf commented 1 week ago

Do I miss some step or are tests running before the compilation and failing due to missing dll file (which makes sense because the compilation starts afterwards)?

https://github.com/DanielRuf/php-spx/actions/runs/10759348451/job/29835929440

Compare that to https://github.com/DanielRuf/php-spx/actions/runs/10759501360/job/29836256905

cmb69 commented 1 week ago

The problem is that you are not actually building any extensions:

https://github.com/DanielRuf/php-spx/blob/windows-build/.github/workflows/main.yml#L19

results in

https://github.com/DanielRuf/php-spx/actions/runs/10759348451/job/29835929440#step:2:129

A few lines below you can see that --enable-xdebug is invalid. That should be --enable-spx instead.

Anyhow, I suggest to start by adding a config.w32 as Windows pendant of config.m4. This are similar, but are written in JScript. For a start, maybe something like the following might work:

ARG_ENABLE("spx", "whether to enable SPX extension", "no");

if (PHP_SPX != "no") {
    AC_DEFINE(HAVE_SPX, 1, "Define to 1 if the PHP extension 'spx' is available.");
    EXTENSION("spx",
        "src/php_spx.c" +
        "src/spx_profiler.c" +
        "src/spx_profiler_tracer.c" +
        "src/spx_profiler_sampler.c" +
        "src/spx_reporter_full.c" +
        "src/spx_reporter_fp.c" +
        "src/spx_reporter_trace.c" +
        "src/spx_metric.c" +
        "src/spx_resource_stats.c" +
        "src/spx_hmap.c" +
        "src/spx_str_builder.c" +
        "src/spx_output_stream.c" +
        "src/spx_php.c" +
        "src/spx_stdio.c" +
        "src/spx_config.c" +
        "src/spx_utils.c" +
        "src/spx_fmt.c");
}
cmb69 commented 1 week ago

Oops, forgot the spaces to separate the extension files above.

DanielRuf commented 1 week ago

Thanks, I fixed the args. I basically oversaw this part.

DanielRuf commented 1 week ago

Besides that, I think the compilation check should be done before running the tests. As my original assumption still stands, I will reopen this issue.