-
Notifications
You must be signed in to change notification settings - Fork 19
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
Refactor drone CI integration #184
Comments
In that first case, it could probably pull down the file it needs, the small text file linux-cxx-install.sh, instead of the whole repo. this sort of syntax, generally.
|
Ok working on that: https://github.com/boostorg/boost-ci/tree/drone_fix-double-clone
No I meant compare the Drone config:
to the equivalent Github config:
So what I'm working on is:
|
A few comments.
|
This is the function I'm working on: https://github.com/boostorg/boost-ci/blob/drone-refactor/.drone.star#L14
Yes: The above was just an example, I'll convert all existing ones or better maybe use https://github.com/boostorg/url/blob/develop/.drone.star as the goal (just in pretty)
I wanted to shortcut that to
Makes sense
That's what I want to get at with the new function: Don't bother authors with the details of the functions, but have a simply spreadsheet-like function to define what you want/get |
osx also has operating system versions with similar number schemes. 10.15. 12.4. Drone has been set up to make a decision based on xcode version instead, and send the user to one of three pools of servers. Not sure the best answer but it's misleading to say 'osx-12.4' because it looks so much like a real operating system version number. The job name field has to be unique. When adding other architectures or operating systems, have to include that in the name to avoid name collisions. |
I'm using the existing functions to create the pipelines and those add the job names
Ok, I'll change it to "osx-xcode-12.4", I just want to remove redundancies: If you specify "xcode" you imply "osx". |
@Flamefire maybe the cppalliance libraries (json, url, etc) Then, to consider what is missing, or has to change.
Currently, boost-ci has example cmake tests in ci.yml, and cppalliance repositories have a few drone cmake tests. I wonder if there is a one-to-one correspondence. I hope so, it will be easier if everything is standard. |
common install does also the clone of Boost and bootstraps B2. The latter is not required for CMake but likely for the docs build, at least "my" libraries use B2 to build the docs and the partially recursive clone of Boost is required in almost all cases. There is also a
Not sure how those work exactly and if we want to encode the library specific steps here. Using B2 is really convenient and can be done with the existing workflow already: https://github.com/boostorg/locale/blob/9c010b9a33a65ea49124259f15da6a1cb6946e4b/.github/workflows/ci.yml#L59-L76
Yes I think it makes sense to copy the CMake tests from GHA to Drone so one can run either although I'm not sure if it's worth the effort. Pretty packed with work right now and the GHA ones are working... It might make sense to provide a BTW: I see you merged #200. Was there a decision which part should go to drone.star and functions.star? I don't really have an opinion here but either |
The readme says:
So what will happen is that e.g.
linux_cxx
will Pull down Boost.CI:boost-ci/ci/drone/functions.star
Line 61 in 4ed2aa3
And the current example drone file will do that again:
boost-ci/.drone/drone.sh
Line 21 in 4ed2aa3
So this duplicates work wasting resources.
Furthermore the Drone config is much less readable than e.g. the Github config
@sdarwin Could you work on the first part, i.e. that it downloads Boost.CI at most once and only if not running on Boost.CI? I don't understand why we would need
.drone/boost-ci
andci
when having the latter is enough (see e.g. Github actions)I started work on an improved drone config in a branch
The text was updated successfully, but these errors were encountered: