gap-actions / run-pkg-tests Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
It's merely an idea/suggestion, but I think it would be useful to have the ability to pass options to GAP. In particular, the -A flag would (imho) be useful for testing if a package still works properly when loaded with the OnlyNeeded
option. This would require a small change in pkg-ci-scripts/run_tests.sh as well, of course.
Currently only the NO_COVERAGE
and GAP_TESTFILE
inputs to this workflow are tested in the CI.
See:
https://github.com/semigroups/Semigroups/actions/runs/7420584539/job/20192252720?pr=969
It looks like the branch cygwin-v2
hasn't be synced with v2
, the diff contains (for example):
ln -f -s $PWD /tmp/gaproot/pkg/
# start GAP with custom GAP root, to ensure correct package version is loaded
- GAP="$GAPROOT/gap -l /tmp/gaproot; --quitonbreak"
-
- if ${{ inputs.only-needed }} = 'true' ; then
- GAP="$GAP -A"
- fi
+ GAP="$GAPROOT/bin/gap.sh -l /tmp/gaproot; --quitonbreak"
Currently:
NO_COVERAGE
: Set to a non-empty string to suppress gathering coverage.
For people who already know what this means, I think this is probably clear enough. But for people who don't... such as me, I think this could be clearer.
Does it stop the profiling package from collecting coverage data on the GAP side of the package? Does it also stop the package's kernel module from having code coverage collected? If this variable is set, does gap-actions/process-coverage
stop working, or at least redundant?
This issue was inspired by my confusion in gap-packages/profiling#94
As mentioned in the code:
Lines 43 to 45 in 2f2aa4f
People may want to use additional or alternative coverage tracking services, like coveralls, or simply not track coverage at all. So I think that uploading (and possibly gathering) of coverage should be in separate actions. Also, codecov has its own GitHub action for uploading coverage data, which one might want to use?
Of course we can't just remove them here, packages will need to adjust their CI.yml files -- but that's why actions can be versioned. So in v2 (or whatever) of this action, these steps can be removed.
Currently that's not happening, see e.g. https://github.com/gap-packages/anupq/runs/2315066518?check_suite_focus=true where the tests are 'passing' even though the test file can't be found.
.... to more closely mirror what ends up happening in the package distro.
For slow test suites, it should be possible to turn this off via a setting.
For the "test with all packages", it really would be important to use pre-made containers, otherwise not all packages will be available (namely those which involve compiled components)
In the action.yml, the following recursive folder structure is created:
mkdir -p gaproot/pkg/
ln -f -s $PWD gaproot/pkg/
However, v2 of codecov-action
also looks for coverage reports in subfolders, causing it to find a lot of them (although it seems to automatically stop at 41). The most recent example in gap-packages at the time of writing:
[2022-03-18T13:22:23.874Z] ['info'] => Found 41 possible coverage files:
gap-coverage.json
gaproot/pkg/ClassicalMaximals/gap-coverage.json
gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json
gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json
[...]
gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json
[2022-03-18T13:22:23.875Z] ['info'] Processing /home/runner/work/ClassicalMaximals/ClassicalMaximals/gap-coverage.json...
[2022-03-18T13:22:23.880Z] ['info'] Processing /home/runner/work/ClassicalMaximals/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json...
[2022-03-18T13:22:23.880Z] ['info'] Processing /home/runner/work/ClassicalMaximals/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json...
[2022-03-18T13:22:23.881Z] ['info'] Processing /home/runner/work/ClassicalMaximals/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json...
[...]
[2022-03-18T13:22:23.898Z] ['info'] Processing /home/runner/work/ClassicalMaximals/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gaproot/pkg/ClassicalMaximals/gap-coverage.json...
It doesn't seem to cause any actual problems, and the coverage report works fine as well, but (to me, at least) it doesn't seem like this is intended behaviour.
This can probably be "fixed" using the "files" or "directory" flag for codecov-action, but that would imply updating every package's CI.yml, and that's treating the symptoms rather than the cause.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.