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

Moving all CI jobs to GitHub #1626

Merged
merged 16 commits into from
May 12, 2021
Merged

Moving all CI jobs to GitHub #1626

merged 16 commits into from
May 12, 2021

Conversation

piponazo
Copy link
Collaborator

@piponazo piponazo commented May 11, 2021

The objective os this PR is to move all the existing jobs we have in different CI platforms (Travis, AppVeyor, Gitlab) to a single place (Github actions).

Also, in order to speed up things on CI, I am thinking about better strategies to trigger different jobs. At the moment this is what I have in mind:

  • The jobs for linux distributions will be run nigthly instead of doing it for every push & PR.
  • On "push" we will trigger 1 job for each of the main platforms (Linux, Win, Mac). The basic configuration is: Arch=x64, BuildType=Release, SharedLibs=ON. This is useful for the main exiv2 contributors, so that they can create branches and see those 3 jobs before creating the PRs.
  • On "PRs" , we will test all the combinations we had previously in different CI platforms:
    • Windows. Matrix of 8 elements with the following settings changing (Arch: x64 & x86; BuildType: Release & Debug; SharedLibs: ON & OFF).
    • Linux. Ubuntu 20.04 Matrix of 4 elements with the following settings changing (BuildType: Release & Debug; SharedLibs: ON & OFF).
    • Mac. Matrix of 4 elements with the following settings changing (BuildType: Release & Debug; SharedLibs: ON & OFF).
    • Linux special builds: Debug + Coverage, Valgrind, Sanitizers & Fedora:MinGW

@piponazo piponazo force-pushed the main-CiToGithub branch 5 times, most recently from 4c2c171 to 4e7e13e Compare May 11, 2021 13:35
@piponazo piponazo marked this pull request as ready for review May 11, 2021 13:53
@piponazo piponazo changed the title WIP - Moving all CI jobs to GitHub Moving all CI jobs to GitHub May 11, 2021
@codecov
Copy link

codecov bot commented May 11, 2021

Codecov Report

❗ No coverage uploaded for pull request base (main@674fdcd). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #1626   +/-   ##
=======================================
  Coverage        ?   66.91%           
=======================================
  Files           ?      151           
  Lines           ?    20808           
  Branches        ?        0           
=======================================
  Hits            ?    13924           
  Misses          ?     6884           
  Partials        ?        0           

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 674fdcd...d9742ff. Read the comment docs.

@piponazo piponazo force-pushed the main-CiToGithub branch 3 times, most recently from 3293bc7 to d755fee Compare May 11, 2021 20:59
hassec
hassec previously approved these changes May 12, 2021
Copy link
Member

@hassec hassec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @piponazo! This looks great 🎉

Proposed configuration makes sense to me.
2 cents I'd like to add:

  1. we should keep an eye out if we ever observe that we see problems in the nightly that we don't pick up on the PR CIs. In that case those should be added to the PR ones as well.
  2. I think the nightly CI would actually be a good possibility for us to create a nightly release of the library... no? 🤔 Definitely not for this PR but maybe for our todo list

Configuration looks great to me, but I'm still not an expert with GH actions, so this is mostly based on the fact that they all seem to run fine 😆
Approving and passing back to you for merge 👍

@piponazo
Copy link
Collaborator Author

we should keep an eye out if we ever observe that we see problems in the nightly that we don't pick up on the PR CIs. In that case those should be added to the PR ones as well.

Sure, I decided to move them from "on: push_request" to nightly to speed up the CI loop feedback but we definitely need to keep an eye on it. In a future PR, I want to cleanup some documentation about the CI stuff and also try to show the CI status in the main README.md.

I think the nightly CI would actually be a good possibility for us to create a nightly release of the library... no? 🤔 Definitely not for this PR but maybe for our todo list

I also thought about it :). I was thinking about creating releases when using the "Releases and PreReleases" options in Github or also when creating tags. I need to play a bit with it, but I will probably do it in a different PR (this one is already too big).

The last commits in this branch are about using the cache feature to cache the conan packages. So you might see some rebases and re-write of the git history while I try some things out 😉

@piponazo piponazo force-pushed the main-CiToGithub branch 2 times, most recently from a93ba0e to 2f9910b Compare May 12, 2021 12:47
@piponazo piponazo merged commit 9e43a89 into main May 12, 2021
@piponazo piponazo deleted the main-CiToGithub branch May 12, 2021 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants