Since the RPM is only used to build the container image, it adds an unnecessary layer of complexity in the Jenkins job. This is an attempt to simplify the Greenwave build process.
I am not very familiar with the Jenkins pipeline syntax, so there might be a mistake or two there. @rayson could you please review this?
rebased onto 9b7f61f8be83a7bf1218430edf6fb45992d963ac
rebased onto e7a4c43373676859a83f24f481b04d6cc838f965
rebased onto d2b2f2494468f9d401181680ce1a9dabac496b94
rebased onto 803a49e7da938445eec191be75004c49ad4784eb
rebased onto 5e73248c5210a397cd56aebe2d70c53f4d1535cb
rebased onto 0b85895509ae10a39e3867ea21e15619ce86ab41
rebased onto 85a05e38a339d912591912e6f67cfa410c15ba4f
I'm not a great Jenkins expert, but it looks good to me!
rebased onto 7189948f3b54dbd079a9c4552af547ffa8a95815
rebased onto 1de4b52d22553b0683f9b0895620f9baa5be3e81
I had forgotten to replace the derived version with the version in greenwave/__init__.py. This is fixed in the latest rebase.
greenwave/__init__.py
The latest rebase built successfully in Jenkins job 509. I was able to deploy this to dev, and it works as expected!
rebased onto 301bb4ac9852d147d37f6defae3a6834c613e0ba
My only concern with this approach is that now there are 3 places where dependencies are tracked: Dockerfile, Jenkinsfile, and requirements.txt.
Do we need to user dnf in the Jenkinsfile at all? We should be able to run the tests with tox (which uses requirements.txt), right?
@lucarval I'd argue we want to run the functional tests using the same RPM versions that production would, so using requirements.txt isn't ideal since the versions aren't pinned.
I think we should end up using a container to run the tests in the long-run. This would allow us to reuse the Dockerfile. What do you think?
rebased onto a7de1cca425aec70ce1636c484754d80c000689f
Yes, I agree. Building a container, running tests on that, then pushing to registry seems like the right approach.
I understand this is a much bigger task than what this PR is trying to address. +1 on merging this as is then :)
Pull-Request has been merged by mprahl
Since the RPM is only used to build the container image, it adds an unnecessary layer of complexity in the Jenkins job. This is an attempt to simplify the Greenwave build process.