Comments (8)
Looks like we need to handle 3 types of testing
- manual (we can ask the user to provide a list)
- Zuul based (ZUUL_HOST + ZUUL_CHANGES variable contains all required changes already)
- Jenkins (GERRIT_* variables and Depends-On in the commit message)
I think we can autodetect the type by looking for the specific env variables.
The manual mode seems simple, I imagine we could have something like this:
artg_change_list:
- host: ...
project: ...
branch: ...
refspec: ...
- ...
The rest of the modes could parse the changes into the same format.
Parsing the ZUUL_CHANGES looks simple, it has this format: ZUUL_CHANGES="project1:branch1:refspec1^project2:branch2:refspec2:^..."
Parsing Depends-On is more involved, but we already have a fairly similar functionality implemented in khaleesi, so we could start out from that and return the result as a list of dictionaries.
from ansible-role-tripleo-gate.
I like this approach. I think we would be able to integrate #1 into this quite easily by adding an extra task that has a when: item.packaging_host is defined
, and then for packaging changes we would just add on to the artg_change_list like:
artg_change_list:
- host: ...
project: ...
branch: ...
refspec: ...
packaging_host: ...
packaging_branch: ...
packaging_refspec: ...
- ...
We could make code changes optional by making the git clone task for code chages have a when: item.host is defined
as well, but this is not a requirement. I have been just setting the refspec to the branch (ie "master") to get the same behavior.
from ansible-role-tripleo-gate.
Looks quite simple, I like the solution. I'll make WIP change without the packaging part first and add this functionality when that works.
from ansible-role-tripleo-gate.
Added the basic functionality with a statically defined change list: https://review.gerrithub.io/277358
from ansible-role-tripleo-gate.
Added Zuul change parsing to the review. Tested locally with a manually crafted ZUUL_CHANGES variable, it seemed to work fine.
from ansible-role-tripleo-gate.
The change is feature complete (though it fails with certain packages like puppet-tripleo, because it doesn't have that hacked out install part from DLRN).
I tested all three methods manually (by adding env vars) and it worked even in complex dependency situations (with Jenkins), though I didn't test it with dependencies on different Gerrit servers.
from ansible-role-tripleo-gate.
After converting the dependency resolvers to Ansible modules, and adding the "multiple changes with the same Change-Id" improvement, this should be really ready. Please review.
from ansible-role-tripleo-gate.
The functionality merged: https://review.gerrithub.io/277358
from ansible-role-tripleo-gate.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ansible-role-tripleo-gate.