Project

General

Profile

action #66721

Use GitHub actions for os-autoinst

Added by tinita 8 months ago. Updated 9 days ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
Feature requests
Target version:
Start date:
2020-05-12
Due date:
% Done:

0%

Estimated time:
Difficulty:

Description

In https://progress.opensuse.org/issues/66649 a Proof of Concept was created to see if sing GitHub actions would be possible and have more advantages than disadvantages.

The necessary steps to actually use Actions are:

Patch qemu

Currently the official qemu-img command cannot be run in docker:
https://github.com/os-autoinst/os-autoinst/runs/657420932?check_suite_focus=true#step:4:632

We have to put the patched qemu into the openqa_dev container first.

It is working on Travis CI, because the used docker version there is older and doesn't have this "feature".

Codecov

codecov currently complains that it doesn't have a token (although it's a public repo)

GitHub Actions has its own codecov action:
https://github.com/marketplace/actions/codecov

Would need to find out how to alter the current command to use that.


Related issues

Related to openQA Project - action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, DockerfileBlocked2019-06-27

Related to openQA Tests - action #80394: Change the CI setup due to travis-ci.org going EOL, e.g. migrate to travis-ci.com with paid plan or migrate elsewhereWorkable2020-11-26

Blocked by openQA Project - action #66649: Test GitHub actions for os-autoinstResolved2020-05-08

History

#1 Updated by tinita 8 months ago

  • Blocked by action #66649: Test GitHub actions for os-autoinst added

#2 Updated by tinita 8 months ago

  • Blocks action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfile added

#3 Updated by tinita 8 months ago

  • Blocks deleted (action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfile)

#4 Updated by tinita 8 months ago

  • Related to action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfile added

#5 Updated by tinita 8 months ago

  • Blocked by deleted (action #66649: Test GitHub actions for os-autoinst)

#6 Updated by tinita 8 months ago

  • Related to deleted (action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfile)

#7 Updated by tinita 8 months ago

  • Blocked by action #66649: Test GitHub actions for os-autoinst added

#8 Updated by tinita 8 months ago

  • Related to action #53546: Easier dependencies handling for packages, e.g. reduce duplication of build requirements in spec, documentation, Dockerfile added

#9 Updated by tinita 8 months ago

Regarding Codecov issues:
Devel::Cover::Report::Codecov doesn't yet support Github Actions, and I tried to add it, but had problems with it.
But that could be because Codecov and GitHub currently have problems:
https://status.codecov.io/

GitHub Tokenless Actions users may be experiencing intermittent issues retrieving commits and other tasks. The Codecov team is actively monitoring the situation.

In the end I managed to successfully upload a report, but I still need to figure out all required parameters.

#10 Updated by tinita 8 months ago

Regarding codecov: in IRC Olaf Alders just pointed me to https://metacpan.org/pod/Devel::Cover::Report::Codecovbash

#11 Updated by okurz 2 months ago

According to https://github.community/t/enable-nested-virtualization-for-vms/17146/5 travis CI has nested virtualization but github actions does not. https://github.com/actions/virtual-environments/issues/114 and https://github.com/actions/virtual-environments/issues/183 are related rejected feature requests. Might be something to consider.

#12 Updated by okurz about 2 months ago

  • Related to action #80394: Change the CI setup due to travis-ci.org going EOL, e.g. migrate to travis-ci.com with paid plan or migrate elsewhere added

#13 Updated by okurz about 2 months ago

  • Status changed from New to Feedback
  • Assignee set to okurz
  • Target version changed from future to Ready

As travis CI is hurting us with super long queue times, see #80394, I am just trying out if github actions work right away or if more work is needed:

https://github.com/os-autoinst/os-autoinst/pull/1576

#14 Updated by okurz about 1 month ago

we are back to the state of generating a complete report, now based on a Leap 15.2 base image, but with the same problem as originally that a codecov token can not be found:
https://github.com/os-autoinst/os-autoinst/pull/1576/checks?check_run_id=1530717163

tinita in #66721#note-9 you mentioned "In the end I managed to successfully upload a report, but I still need to figure out all required parameters.". Any hints on what we should do next?

EDIT: According to https://github.com/marketplace/actions/codecov no token should be necessary anymore for public repos when using the codecov action. Will try that. But to prevent Devel::Cover::Codecov to try to upload the report directly from tests we should likely use Devel::Cover::Codecovbash which is not yet part of openSUSE:Factory (nor devel:languages:perl). So I created https://build.opensuse.org/request/show/854598 to submit to devel:languages:perl first. For now likely we need to load the package from cpan then for github actions.

I updated my PR to also add Devel::Cover::Codecovbash as alternative dependency. If that does not work because the package is not available we could use cpanm directly from GHA. Another alternative might be to actually specify the token from https://app.codecov.io/gh/os-autoinst/os-autoinst/settings as part of GHA secrets e.g. with export CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }}

#15 Updated by okurz about 1 month ago

  • Status changed from Feedback to Workable

travis CI config removed with https://github.com/os-autoinst/os-autoinst/pull/1598 . Need to update build badge in readme and check for left "travis CI" references.

#16 Updated by okurz about 1 month ago

  • Status changed from Workable to Feedback

#17 Updated by okurz 9 days ago

  • Status changed from Feedback to Resolved

All done

Also available in: Atom PDF