first steps in CI integration #66
No reviewers
Labels
No Label
OPS TODO
api change
breaking api change
bug
documentation
duplicate
feature
help wanted
invalid
question
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: eive/eive-obsw#66
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "mohr_ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I added a Jenkinsbuild file and configured jenkins to act on it, also I added a webhook to trigger jenkins.
The Jenkinsfile is a minimal one to be expanded in the future:
As sometimes the build needs to be cleaned, there is a condition which triggers a clean when "cleanCI" is anywhere in the git commit message. It should also trigger a clean if cmake files changed, but this is untested as of now.
The Dockerfile was moved into automation/, I think this is a better place as it has not much to do with the sources. Also, docker is building faster if the directory is empty.
Right now, the docker image is ubuntu 20.04 LTS based, as I did not get an alpine based one to compile the obsw, size would be ~300MB smaller with alpine.
I'm using gcc 8.3 from https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz?revision=e09a1c45-0ed3-4a8e-b06b-db3978fd8d56&la=en&hash=93ED4444B8B3A812B893373B490B90BBB28FD2E3 and the rootfs from the eive-cloud.
Using a Jenkinsfile in the scm means that commiters can run arbitrary code on our buildserver, so please be cautious with untrusted changes to that file, for example from pull requests.
There is a safeguard that if the Jenkinsfile has been changed in an external pull request, jenkins will use the Jenkinsfile of the target branch to build the pull request, but as soon as you merge that pull request, the actual one will be used.
this implements most of #39 with the docker build still open