| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
| |
Make it clear in the earlier comment about -DDEBUGGING that it was
referencing the "linux" job, not the entire file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On the GH virtual machine, gcc's ASAN appears to be slightly buggy, as the
`-Accflags=-DPURIFY` job is causing cpan/File-Path/t/Path.t to reliably
SEGV after passing all 167 subtests:
Tracer caught signal 11: addr=0x0 pc=0x7ff95dfaa8b0 sp=0x7ff95a2a6ce0
LeakSanitizer has encountered a fatal error.
I can't replicate this on machines I have access to, which makes it rather
hard to debug. Hence side-step the issue by running this test with clang
instead, so that we also test with clang's ASAN implementation.
We still test with gcc's ASAN in one of the PERL_UNICODE jobs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make -j2 test` causes make to re-run the build in all the extension
directories, which takes about 40 seconds on the GH servers - ie this alone
is roughly 1% of the total test time.
Hence change the build target to `test_prep`, the Makefile pre-requisite for
testing, and then run t/TEST.pl directly with the same environment as the
Makefile and ./runtests would have set up. As we already set
PERL_SKIP_TTY_TEST=1 in the global environment we don't have anything else
to set up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous commit added various new lines that set LD_LIBRARY_PATH=`pwd`,
whereas the existing lines that set LD_LIBRARY_PATH set it to '.'.
LD_LIBRARY_PATH needs to be set to the build directory to run an uninstalled
perl binary *if* that binary is built with a shared perl library. It's not
needed for the default configuration, but to simplify the test definitions we
were doing it always.
In turn, LD_LIBRARY_PATH doesn't need to be set to an *absolute* path if all
that is invoked is the perl binary - it doesn't change directory, and it
does shell out to itself, hence setting LD_LIBRARY_PATH=. is just fine here.
Running the regression tests *does* involve changing directory before
invoking perl, so LD_LIBRARY_PATH needs to be set to an absolute path there.
Running `./perl -Ilib -V` doesn't change directory (or shell out) so '.'
was good enough.
There's no real harm in also invoking `pwd` to get an absolute path here, so
do this instead of just coding '.', as the consistency makes the workflow
easier to read - you don't get distracted wondering "Why are these
different, and is that a bug?"
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`make -j2 test_harness` causes make to re-run the build in all the extension
directories, which can take 20 seconds even on fast server hardware. Hence
change the build target to `test_prep`, the Makefile pre-requisite for
testing, and then run t/harness directly with the same environment as the
Makefile and ./runtests would have set up. As we already set
PERL_SKIP_TTY_TEST=1 in the global environment we don't have anything else
to set up.
Keep the 'linux-i386' and 'install' jobs on the regular `test` and
`test_harness` targets to ensure we still cover them.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intent is to test with non-C locales and non-default Unicode handling,
but to do this the values need to be set as environment variables for the
test (and build - occasionally bugs are not exposed by the testsuite).
Configure happily accepts anything on the command line, and records all its
command line arguments in config.sh (and hence also within %Config::Config).
But nothing acts on them.
It's easier to set these in a separate workflow job (and test only a couple)
rather than creating a second environment matrix in this job, and hence
test $m * $n combinations.
Unfortunately the GH test machines only have the locales C, C.UTF-8, POSIX
and en_US.utf8, so we can't easily test anything more "interesting" than
en_US.utf8.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MALLOC_CHECK_=3 causes glibc to abort if it detects malloc errors.
Specifically, 3 will be "Print detailed error message, stack trace, and
memory mappings, and abort the program."
MALLOC_PERTURB_=254 will cause newly allocated memory to be set to non-zero
values, and freed memory to be set to the given non-zero value.
See `man mallopt`
Intentionally only setting these for the build and test steps, but not the
Configure step, to see if we can later expose bugs caused by bad probes.
If we set it for Configure, the abort this triggers might simply cause a
probe to be silently failed, and we could miss problems.
|
|
|
|
|
| |
Also we can fail-fast on ASAN to save some resources. Likely if one ASAN
build fails, the others won't tell us about different problems.
|
|
|
|
|
|
| |
`make test` uses t/TEST which always runs tests sequentially.
TEST_JOBS only makes sense with t/harness, which is run by the
`test_harness` target.
|
|
|
|
|
| |
Also nothing references $ENV{WORKSPACE} so no need to set this. Documentation
for actions/checkout implies that it is reading from $GITHUB_WORKSPACE.
|
|
|
|
|
| |
Whilst this *will* detect various dangerous mistakes involving bad memory
accesses, it's far more likely to spot if changes create memory leaks.
|
|
|
|
|
|
|
|
| |
Currently minitest passes - let's keep it that way.
minitest might feel like makework, until one makes a seemingly innocent
change that breaks the build in "inconceivable" ways and it's no longer
even possible to get to the point of being able to run `make test`.
|
|
|
|
| |
If it's worth doing, it's worth overdoing.
|
|
|
|
| |
Hopefully this will make it easier to figure out the cause of test failures.
|
| |
|
|
|
|
| |
This reverts commit e9f285aca6c125ef50e64ed9b85265c9896b7b39.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Due to failing installation of VC express 2010, that version isn't
being tested anyway, and is just producing errors.
If we work out a solution for the missing download from Microsoft
we can reinstate it, but at this point it's just noise
reducing the utility CI gives us.
This does not make VC2010 unsupported, it's purely a CI change.
|
|
|
|
|
|
|
|
| |
CCHOME is needed to set $Config{libpth} correctly.
The latest version of Win32 (which I'm about to import from CPAN) is
linking with a library that isn't listed in $Config{libs} and because of
that it needs $Config{libpth} to be valid.
|
|
|
| |
Xcode v12 is now the default Xcode version: https://github.com/actions/virtual-environments/issues/2056
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
GH #18329
::set-env is deprecated use GITHUB_ENV instead
|
|
|
|
|
|
|
|
|
|
|
| |
Don't use add-path GitHub Action Command
The `add-path` command is deprecated.
For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
* bump up actions/checkout@v1
* enable cache of GitHub Actions
* don't use pre-installed git on cygwin
* split lines for readability
|
|
|
|
|
|
|
|
|
| |
Give more time to the action detecting merge conflicts.
To detect conflicts we rely on the `mergeable` state
from GitHub API. GitHub uses an async job to compute
this state. We have no other way than patience before
being able to detect a conflict.
|
|
|
|
|
|
|
|
|
| |
Alternatively we could retry on errors.
This is a known limitation as we use the mergeable
status which is computed async by GitHub.
Upstream-URL: https://github.com/mschilde/auto-label-merge-conflicts/issues/37
|
|
|
|
|
| |
This is using a different wording for opened
or synchronize pull requests.
|
| |
|
|
|
|
|
|
| |
The GITHUB_REF head on the remote doesn't reliably contain GITHUB_SHA
when testing pull requests. These PR merge SHAs are likely transient.
Checkout whatever the fetch retrieved from GITHUB_REF instead.
|
|
|
|
|
|
| |
This sets a variable to skip or run jobs in the github workflow rather
using a workflow failure to stop early. Failing the workflow sends
unnecessary notifications.
|
| |
|
|
|
|
|
|
|
|
| |
This is a first iteration advertising to #p5p-commits.
The action for 'inBlead' needs to be altered.
Once stable, I would also port the existing bot
to this workflow so anyone can tweak/adjust it.
|
|
|
| |
The action cannot find the tag using a space.
|
|
|
|
|
| |
The goal is too quickly identify the pending pull
requests with conflicts.
|
|
|
|
|
|
|
|
| |
This was originally added for MinGW, which no longer needs it, and
only still used by Symbian, which is now removed.
This also leaves perlapi.[ch] empty, but we keep the header for CPAN
backwards compatibility.
|
| |
|
| |
|
|
|
|
| |
also add a debug statement for viewing GitHub context
|
|
|
|
|
|
|
|
| |
Smoke informations should belong to the testsuite
and only display when run on the main repo.
Note: moved the 'if' condition in the run as a 'if:'
check, avoiding to start a VM when not needed.
|
|
|
|
|
|
| |
This is avoiding using too much resources on fork repositories.
fixup
|
|
|
|
|
|
|
|
|
|
|
| |
Abort earlier if we cannot compile a simple
configuration on linux.
This is avoiding wasting resources and will come
back earlier on errors. Note that this is adding
the time of an extra runtime job as we are
waiting for the sanity_check workflow before starting
any other jobs.
|
|
|
|
|
|
| |
The existing smoke-* workflows are part of the testsuite.
By merging them together we can link them and add some
conditions to reduce resources usages.
|
| |
|