-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Labels
epicBig issue with multiple subissuesBig issue with multiple subissuesprocedureAction that must be executedAction that must be executed
Description
The final built executables coming out of vercel/pkg are not tested when uploaded as pre-release executables.
We should run a final test on those, maybe a simplified test that runs just the --version or --help page to ensure that the executable actually runs on the target environment. This can help us know whether the final packaged executables are actually working mostly.
This requires our CI/CD to expand to include all environments:
- Linux
- Windows - https://about.gitlab.com/blog/2020/01/21/windows-shared-runner-beta/
- Mac - @joshuakarp knows the details about this in Secret Vault Schema #4
We have these stages:
stages:
- check
- build
- release
This might work as an extra stage: qa to mean "quality assurance". And it needs to use raw environments (not based on our Nix image that we use to build things).
Tasks
- - Investigate adding an extra stage
qathat enables Linux, Windows, and Mac environment runners, that means this stage runs on an entirely different runner compared to check, build and release. - - Download the executables from the release point. This tests whether our release point is up and running. If the release point is down, the test should retry after some time, as this depends on network availability.
- - Run a sanity check over the executables such as
--helpand--versionto get the help page and the version page respectively. - - Ensure that this job is interruptible.
Regarding docker:
- - Create the docker image with
nix-build ./release.nix -A docker- test that this container works with
docker run -it name-version:hash. - example:
docker run -it matrixai_typescript-demo-lib-1.0.0:f3wf1wxvkdbbmrhxx9rhr5qw2skbrah6 - see TypeScript-Demo-Live README.md for more details
- the TMPDIR may be used by PK, if so, use this https://gist.github.com/CMCDragonkai/94e6550302aa7ebc175c06819927605a
- inspect the image contents for correctness by using this https://gist.github.com/CMCDragonkai/d7a652ada27289ab59e28bc914c942f6
- do we need a cacert and tzdata?
- cacert may be needed in case we want to contact external websites, but this is not a thing for the PK agents hosted on
testnet.polykey.io - tzdata shouldn't be necessary since we don't operate on any timezones, we assume OS time is UTC time
- cacert may be needed in case we want to contact external websites, but this is not a thing for the PK agents hosted on
- test that this container works with
Metadata
Metadata
Assignees
Labels
epicBig issue with multiple subissuesBig issue with multiple subissuesprocedureAction that must be executedAction that must be executed