-
Notifications
You must be signed in to change notification settings - Fork 352
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
Maintainers can rely on a CI system to enforce build and test checks for PRs for Linux #50
Comments
Narrowed down to 3 contenders - CircleCI, Travis.CI and GoCD, all of which provide Enterprise options i.e. capability to run the builds on our own servers or own private cloud. CircleCI and Travis.CI do not support Windows builds right now but GoCD does. GoCD supports Windows and Linux builds but it has not been easy to configure the build agents. |
Docker based deployment of build environment and execution of SGX tests in Dockerized environment POC: - Was able to create a docker container on a KabyLake Linux VM and get OE SDK working. All the tests passed in SGX mode. Saved this docker image for team's use/checkout. The image comes up with the SGX driver but the aesmd service needs to be restarted. |
Tried GoCD again and configured the GoCD server with a demo build pipeline. However, the GoCD agent did not come up and hence the build was stalled. Suspect that the port used by GoCD is being blocked by the firewall. |
For our immediate CI workflows on Linux, my thought is to go with CircleCI which provides 1500 builds and 1 container per month FREE. But we will be able to test only in simulator mode. I am not familiar with using the existing CircleCI webhooks to provide notification when a CI build successfully completes. But the new Checks API from GitHub will soon be integrated and available with CircleCI. I used email notification which works well. TravisCI for private repositories is not FREE and also seems very slow compared to CircleCI. So, not pursuing this right now. |
Created oeciteam service account for OE CircleCI use. Also a docker hub account for team (oeciteam).
|
Friday's update: |
Scripts pre-commit and build-testall are part of master along with a config.yml which enforces pre-commit (#PR 430). With the following optimizations in place in the ci-work branch (#349 ), the run time came down to ~24 minutes.
Here is a picture of the 7 jobs in this workflow:
|
CI work branch (PR #349) has been merged to the master finally as all outstanding build/test issues have been fixed. Here is the snapshot of the CI clean run with merge to master. |
oeedger8r generated code requires intrin.h to exist for x64 Signed-off-by: Dave Thaler <dthaler@microsoft.com>
Need to set up a continuous integration pipelines for Linux.
To explicitly scope the goals for this story, most of the CI systems explored only support hosted builds by default or in their basic/free plans, which precludes running on Azure SGX machines. As such, this story primarily covers enforcing basic engineering checks during PR submission:
For enabling CI to run on Azure SGX machines, see #374.
If we can get a single solution, this can be merged with the Windows one #51.
The text was updated successfully, but these errors were encountered: