-
-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release automation: run spec tests with just OSH on different platforms #167
Comments
This is is more significant now that we have a In other words, some things don't work on Alpine now, and it would be nice to see that in the tests. |
TODO: What are dependencies of spec tests?
Anything else? On the one hand, since they are confined to On the other hand, if we can use the same portability solution for all 4 deps, that would be nice. Note |
@jyn514 I realized the spec tests have a fairly significant gawk dependency. The So ideally we could package up these 4 dependencies somehow. I don't think they are particularly weird or exotic. I think putting |
I think having something like:
would work. Some of these can be symlinks, some are tiny shell wrappers, and some are native binaries. It's similar to the philosophy of avoiding #ifdefs. The Go/Plan 9 guys advocate that -- they avoid #ifdefs and instead create portable interfaces. |
This is kind of the opposite of #42 -- because we want to run at least some tests in a DIFFERENT environment! |
Updated dependencies: For
OPTIONAL:
tarball layout:
Problems expected
|
I think you'll also need python-dev since you include Python.h during build/dev.sh all. Not sure if spec tests run with the dev build or the tarball. |
This is for testing the end-user binaries, so the user just needs to run No Python is needed to use Oil, either now or in the near future with |
test/spec-alpine.sh smoke works with 1 error due to an 'ls' difference. Addresses issue #167. TODO: Consolidates test/alpine2.sh with test/alpine.sh.
Only 11 tests need --no-cd-tmp now. They depend on $PWD/bin existing, etc. which is true in the repo. Will help with #167.
- Starting with tests that require --no-cd-tmp. - Add --osh-failures-allowed - Also make note of some dependencies needed for parallel execution, e.g. GNU time and xargs. Will help with #167.
time.py takes optional --append, instead of defaulting to it, so we can run in parallel. The spec tests do that. Update all usages to pass --append like /usr/bin/time. Work towards #167.
Had to rename it because 'import time' on Alpine somehow shadows the stdlib! Reduces dependencies for issue #167.
Addresses issue #167. Still needs a lot of cleanup.
TODO
Later:
|
See comments at the top of test/alpine.sh. We have _chroot/alpine-oil-{tar,spec} Addresses #167.
#70 is really a specific instance of this issue |
Pinging this since it came up in the #oil-dev meeting i.e. verifying a tarball/binary built with Nix |
For OS X, BSDs, etc. where we might not want to bother building with
spec-bin.sh
And maybe ARM Linux would be a good one too. Although it would be nice to build binaries there.
The text was updated successfully, but these errors were encountered: