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

Update jsng-ci.yml to use multiple ubuntu versions #536

Merged
merged 10 commits into from
Jan 12, 2021

Conversation

sameh-farouk
Copy link
Member

@sameh-farouk sameh-farouk commented Jan 6, 2021

as currently, our CI build fails on ubuntu 20.04, this PR makes these changes to our workflow (fix the issue and also introduce important improvements):

  • running ci workflow on Ubuntu 18.04 instead of ubuntu-latest, so CI build will not break when soon github-hosted runner servers switch to use ubuntu 20.04 as latest. see Better Artifact Telemetry + Increase Upload chunk size actions/toolkit#535 and @actions/artifact Retry on 413 response actions/toolkit#540
  • including additional matrix values into combinations. ubuntu 20.04 and python 3.9 as only experimental jobs (provides us with insight about the code compatibility) as Experimental testing is crucial for verifying and validating the results of all our development efforts and the current compatibility and back-compatibility status of the project.
  • Prevents a workflow run from failing when an experimental job fails (ubuntu 20.04 and python 3.9).
  • prevent GitHub cancels all in-progress jobs if any matrix job fails, to allow us to know the results for all jobs, even if one of the jobs fails. this is important to give insights about the issue, and if it will fail on all jobs or it is platform related issue.

Related Issues

actions/toolkit#535
actions/toolkit#540
actions/toolkit#521

Important note regard PR checks failing on CI:

the main idea to use continue-on-error is that if an allowed job failure fails (such as in the case of experimental jobs in this workflow), it means that that job should get a red X, but the overall workflow should not.
however, on the PR page, it's rather confusing, and it looks like the CI broke when it did not and actually the whole workflow is still marked as successful when looking in the Actions tab (see the screenshot).

this is because of an ongoing open issue on GitHub Actions repo: actions/runner#2347. so we can merge this PR and benefit from the improvements of the suggested CI workflow and - for now - ignore the UI indication in the PR page as the main jobs passed, and only experimental job/s was failed.

Screenshot from 2021-01-11 19-06-57

Screenshot from 2021-01-11 17-28-10

running ci workflow on Ubuntu 20.0, Ubuntu 18.04 and Ubuntu 16.04
@codecov-io
Copy link

codecov-io commented Jan 6, 2021

Codecov Report

Merging #536 (432e8fb) into development (1a5a786) will increase coverage by 0.18%.
The diff coverage is n/a.

Impacted file tree graph

@@               Coverage Diff               @@
##           development     actions/toolkit#536      +/-   ##
===============================================
+ Coverage        70.18%   70.36%   +0.18%     
===============================================
  Files               84       84              
  Lines             3820     3820              
===============================================
+ Hits              2681     2688       +7     
+ Misses            1139     1132       -7     
Impacted Files Coverage Δ
jumpscale/servers/gedis/server.py 67.01% <0.00%> (+3.66%) ⬆️

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 1a5a786...432e8fb. Read the comment docs.

- including additional values into combinations
- Prevents a workflow run from failing when a job fails only for experimental jobs with both ubuntu 20.04 and python 3.9
- prevent GitHub cancels all in-progress jobs if any matrix job fails. to allow us to know the results for all jobs, even if one fails.
- maximize the number of jobs that can run simultaneously when using a matrix job strategy.
adding names to experimental jobs.
netstat not available in recent Ubuntu versions. it is not installed by default and considered deprecated in favor of the modern ss command.
as some tests used netstat, this commit bing it back by installing net-tools utilities
@AhmedHanafy725 AhmedHanafy725 merged commit 1aed9e4 into development Jan 12, 2021
@AhmedHanafy725 AhmedHanafy725 deleted the iss535-patch-1 branch January 12, 2021 12:23
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.

3 participants