Skip to content
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

Major refactoring of how new compiler jobs are getting added #6

Merged
merged 13 commits into from Apr 5, 2019

Conversation

Projects
None yet
4 participants
@Croydon
Copy link
Member

Croydon commented Apr 3, 2019

When adding new jobs for new compiler versions to the Travis file it supports now arbitrary environment variables, keywords (except "install"), number of jobs per compiler version etc.

It uses this information and re-uses it to add new jobs for newer compiler versions

It also supports arbitrary file beginning/endings and allows therefore customizations on a per-project base while still being compatible with this script.

With the current version of bincrafters-conventions the script is simply overwriting custom environment variables / Conan variables etc. The only thing it respected beside CONAN_XYZ_VERSIONS and CONAN_DOCKER_IMAGE was CONAN_TOTAL_PAGES and CONAN_CURRENT_PAGE

All-in-all it should be much more stable and useful, however, since it is adding incremental new CI jobs instead of re-generating the entire file, a few more update scripts are required now

Croydon added some commits Mar 30, 2019

Refactor: Add new compiler versions more reliable
When adding new jobs for new compiler versions to the Travis file it supports now arbitrary envionrment variables, keywords (except "install"), number of jobs per compiler version etc.

It uses thiis information and re-uses it to add new jobs for newer compiler versions

It also supports arbitrary file beginning/endings and allows therefore customizations on a per-project base which still being compatible with this script.

All-in-all it should be much more stable and useful
Fix tests
Before the refactoring of how new CI jobs got added the entire Travis file got rewritten every single time. By doing so some update like the Travis CI image or the used Python version were implicit.

Not the job updates do work incrementally, so we need to update other stuff explicit.

Also the Travis xcode 10.2 image isn't ready for usage yet as it causes zlib issues

@Croydon Croydon requested review from SSE4 and uilianries Apr 3, 2019

@Croydon Croydon force-pushed the croydon/refactor_adding_new_compiler_version_jobs branch from aeaad66 to 53346d1 Apr 3, 2019

@Croydon Croydon force-pushed the croydon/refactor_adding_new_compiler_version_jobs branch from 53346d1 to df1fcfa Apr 3, 2019

Update Travis Linux image: Check first if new key exists
Co-Authored-By: Croydon <cr0ydon@outlook.com>
@uilianries
Copy link
Member

uilianries left a comment

The code is much better now!

Update version
Co-Authored-By: Croydon <cr0ydon@outlook.com>
@uilianries

This comment has been minimized.

Copy link
Member

uilianries commented Apr 3, 2019

There is a little bug when updating Travis file, the script adds:

     - <<: *osx
       osx_image: xcode9.3
       env: CONAN_APPLE_CLANG_VERSIONS=10.0
@Croydon

This comment has been minimized.

Copy link
Member Author

Croydon commented Apr 3, 2019

@uilianries Can you point me to the travis file you used for this?

@uilianries

This comment has been minimized.

@codecov-io

This comment has been minimized.

Copy link

codecov-io commented Apr 3, 2019

Codecov Report

Merging #6 into master will increase coverage by 2.33%.
The diff coverage is 93.52%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master       #6      +/-   ##
==========================================
+ Coverage   74.33%   76.67%   +2.33%     
==========================================
  Files          21       26       +5     
  Lines         530      596      +66     
==========================================
+ Hits          394      457      +63     
- Misses        136      139       +3
Impacted Files Coverage Δ
...ions/actions/update_other_travis_to_ci_dir_name.py 66.66% <0%> (-3.34%) ⬇️
bincrafters_conventions/bincrafters_conventions.py 76.68% <100%> (-4.9%) ⬇️
...tions/actions/update_other_pyenv_python_version.py 69.23% <50%> (-3.5%) ⬇️
...fters_conventions/actions/update_t_macos_images.py 72.72% <72.72%> (ø)
...nventions/actions/update_t_linux_python_version.py 81.81% <81.81%> (ø)
...afters_conventions/actions/update_t_linux_image.py 87.5% <87.5%> (ø)
...entions/actions/update_t_new_docker_image_names.py 90.9% <90.9%> (ø)
...ions/actions/update_t_add_new_compiler_versions.py 98.09% <98.09%> (ø)
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a05f3f9...c0085e5. Read the comment docs.

@SSE4 SSE4 referenced this pull request Apr 4, 2019

Closed

Update all CI scripts #482

@Croydon Croydon self-assigned this Apr 4, 2019

@Croydon

This comment has been minimized.

Copy link
Member Author

Croydon commented Apr 4, 2019

The script which adds jobs for new macOS jobs relies on the fact that the exiting macOS jobs do use the currently expected macOS image. The job update script runs last for the reason to keep it simple, otherwise it would need to cover too many edge cases.

There is also a script which updates existing macOS jobs from old Travis images to the current one we specify. I simply didn't add the mapping from 9.3 -> 9.4.

Since this particular Travis file still uses osx_image: xcode9.3 it did cause this follow-up bug.

Should be fixed now, please re-test

@uilianries

This comment has been minimized.

Copy link
Member

uilianries commented Apr 5, 2019

@Croydon It's working, thanks!

@uilianries
Copy link
Member

uilianries left a comment

LGTM

@SSE4 SSE4 merged commit 95c225d into master Apr 5, 2019

2 checks passed

continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details

@Croydon Croydon deleted the croydon/refactor_adding_new_compiler_version_jobs branch Apr 12, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.