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

Replace Travis/Appveyor CI with GitHub Action Workflow #1242

Merged
merged 6 commits into from
Dec 17, 2020

Conversation

lukpueh
Copy link
Member

@lukpueh lukpueh commented Dec 16, 2020

Fixes parts of #1195

Description of the changes being introduced by the pull request:

Configure GitHub workflow to run all tox environments on GitHub Action runners, where each 'py' env runs on linux, macos and windows, and sslib master and lint builds run only on Linux/Python3.x.

In addition this PR:

  • fixes a windows test
  • makes tox work around a pip bug
  • enables pip caching
  • removes old Travis and Appveyor setup
  • temporarily removes publishing of coverage (coveralls) and license (fossa) data (formerly performed in the Travis builds).
    See lukpueh@df73242 for coveralls WIP

TODO (I suggest in follow-up PRs)

Big kudos to @jku for preparing most of this PR.

Please verify and check that the pull request fulfills the following
requirements
:

  • The code follows the Code Style Guidelines
  • Tests have been added for the bug fix or new feature
  • Docs have been added for the bug fix or new feature

lukpueh and others added 2 commits December 16, 2020 17:37
The GitHub action windows runners (added in a subsequent commit)
choke on a test that runs os.makedirs with a too long directory
name, and expects an OSError with error numbers ENAMETOOLONG or
ENOENT. However, this particular runner returns EINVAL in Python 3,
which according to bugs.python.org/msg295851 is not unlikely.

This commit simply adds EINVAL to the expected error numbers.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
Configure tox to use legacy resolver as a temporary workaround
for pypa/pip#9215, which results in huge unnecessary downloads.

Co-authored-by: Jussi Kukkonen <jkukkonen@vmware.com>
Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
@lukpueh
Copy link
Member Author

lukpueh commented Dec 16, 2020

Here's the result of this build on my fork: https://github.com/lukpueh/tuf/actions/runs/426130986

Not sure how I can make the upstream repo run the workflow. Will check... and also disable Travis and Appveyor.

@lukpueh
Copy link
Member Author

lukpueh commented Dec 17, 2020

Ok, so I uninstalled Travis and Appveyor from this repo and disabled the corresponding checks. The recent appveyor check is still visible, probably because it has finished before I disabled it.

I suppose we won't see it in subsequent PRs after this one has been merged. Same goes for the GitHub action being triggered on a PR, I guess this will only happen after the workflow document added in this PR has been merged into the upstream repo.

lukpueh and others added 4 commits December 17, 2020 10:28
Configure workflow to run all tox environments, where each 'py' env
runs on linux, macos and windows, and sslib master and lint builds
run only Linux/Python3.x only.

The workflow also configures pip caching.

TODO: Adopt publishing of coverage (coveralls) and license (fossa)
data from .travis.yml.

Co-authored-by: Jussi Kukkonen <jkukkonen@vmware.com>
Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
Replace mentions of travis/appveyor with GitHub Actions in
governance (contribution) and readme (badges) documents.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
The newly add GitHub workflow, which replaces Travis and Appveyor
does not support publishing coverage (coveralls) and license
(fossa) data yet (formerly done by Travis).

This commit removes the corresponding badges from README. It shall
be reverted once coveralls and fossa are re-enabled.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
@joshuagl
Copy link
Member

Closing to try and re-trigger the workflow

@joshuagl joshuagl closed this Dec 17, 2020
@joshuagl joshuagl reopened this Dec 17, 2020
@joshuagl
Copy link
Member

Action triggered: https://github.com/theupdateframework/tuf/actions/runs/427732640

Copy link
Member

@joshuagl joshuagl left a comment

Choose a reason for hiding this comment

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

This looks excellent, thanks @lukpueh and @jku!

@lukpueh
Copy link
Member Author

lukpueh commented Dec 17, 2020

Thanks for triggering the build and the review, @joshuagl. I also just made all builds required for PRs to develop, except for the sslib-master build.

Also, I forgot to mention that although we don't publish coverage on coveralls.io right now, we still measure it in each build, show a summary table and fail if we drop below 97%. (see "Run tox" step). So I think we can safely merge here and reinstate coveralls.io integration in a follow-up.

@lukpueh lukpueh merged commit f7695da into theupdateframework:develop Dec 17, 2020
@trishankatdatadog
Copy link
Member

Beautiful

lukpueh added a commit to lukpueh/tuf that referenced this pull request Dec 23, 2020
Re-add coverage publishing on coveralls.io, formerly performed by
Travis CI (prior to theupdateframework#1242), using the coveralls cli tool according
to the documentation:
https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html#github-actions-gotcha

**Considered alternatives:**
- Official coveralls GitHub action, which does not seem to work
  well for Python:
  coverallsapp/github-action#4
  coverallsapp/github-action#30

- Inofficial fork of that action, which seems to work better
  but had issues finding the coverage data in the tests folder,
  or the covered code respectively.
  https://github.com/AndreMiras/coveralls-python-action

Besides aforementioned issues of these actions the use of cli tools
from curated package managers seems slightly preferable over
actions from the GitHub Marketplace (see theupdateframework#1246).

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
lukpueh added a commit to lukpueh/tuf that referenced this pull request Dec 23, 2020
A recent commit reinstates publishing of coverage data to
coveralls.io. This commit re-adds the corresponding badge which
was temporarily removed in theupdateframework#1242.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
lukpueh added a commit to lukpueh/tuf that referenced this pull request Jan 13, 2021
Re-add coverage publishing on coveralls.io, formerly performed by
Travis CI (prior to theupdateframework#1242), using the coveralls cli tool according
to the documentation:
https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html#github-actions-gotcha

**Considered alternatives:**
- Official coveralls GitHub action, which does not seem to work
  well for Python:
  coverallsapp/github-action#4
  coverallsapp/github-action#30

- Inofficial fork of that action, which seems to work better
  but had issues finding the coverage data in the tests folder,
  or the covered code respectively.
  https://github.com/AndreMiras/coveralls-python-action

Besides aforementioned issues of these actions the use of cli tools
from curated package managers seems slightly preferable over
actions from the GitHub Marketplace (see theupdateframework#1246).

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
lukpueh added a commit to lukpueh/tuf that referenced this pull request Jan 13, 2021
A recent commit reinstates publishing of coverage data to
coveralls.io. This commit re-adds the corresponding badge which
was temporarily removed in theupdateframework#1242.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
MVrachev pushed a commit to MVrachev/tuf that referenced this pull request Feb 24, 2021
Re-add coverage publishing on coveralls.io, formerly performed by
Travis CI (prior to theupdateframework#1242), using the coveralls cli tool according
to the documentation:
https://coveralls-python.readthedocs.io/en/latest/usage/configuration.html#github-actions-gotcha

**Considered alternatives:**
- Official coveralls GitHub action, which does not seem to work
  well for Python:
  coverallsapp/github-action#4
  coverallsapp/github-action#30

- Inofficial fork of that action, which seems to work better
  but had issues finding the coverage data in the tests folder,
  or the covered code respectively.
  https://github.com/AndreMiras/coveralls-python-action

Besides aforementioned issues of these actions the use of cli tools
from curated package managers seems slightly preferable over
actions from the GitHub Marketplace (see theupdateframework#1246).

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
MVrachev pushed a commit to MVrachev/tuf that referenced this pull request Feb 24, 2021
A recent commit reinstates publishing of coverage data to
coveralls.io. This commit re-adds the corresponding badge which
was temporarily removed in theupdateframework#1242.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
lukpueh added a commit to lukpueh/tuf that referenced this pull request Jan 13, 2022
fossa.com integration for automated license compliance scans was
discontinued with theupdateframework#1242. There has been no initiative to
re-enable it in over a year.

This patch removes a since then obsolete config file. Let's re-add
when the needed.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
lukpueh added a commit to lukpueh/tuf that referenced this pull request Jan 13, 2022
fossa.com integration for automated license compliance scans was
discontinued with theupdateframework#1242. There has been no initiative to
re-enable it in over a year.

This patch removes a since then obsolete config file. Let's re-add
when the needed.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
lukpueh added a commit to lukpueh/tuf that referenced this pull request Jan 13, 2022
fossa.com integration for automated license compliance scans was
discontinued with theupdateframework#1242. There has been no initiative to
re-enable it in over a year.

This patch removes a since then obsolete config file. Let's re-add
when needed.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
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.

None yet

3 participants