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

Migrate to GitHub Actions. #197

Closed
wants to merge 14 commits into from
Closed

Migrate to GitHub Actions. #197

wants to merge 14 commits into from

Conversation

jezdez
Copy link
Collaborator

@jezdez jezdez commented Dec 21, 2020

Travis CI has a new pricing model which places limits on open source.

Many projects are moving to GitHub Actions instead, including Jazzband projects

This is based on jazzband/contextlib2#26.

TODO:

@codecov
Copy link

codecov bot commented Dec 21, 2020

Codecov Report

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

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #197   +/-   ##
=========================================
  Coverage          ?   97.02%           
=========================================
  Files             ?       20           
  Lines             ?     1582           
  Branches          ?        0           
=========================================
  Hits              ?     1535           
  Misses            ?       47           
  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 e23b45b...4407b25. Read the comment docs.

@jezdez jezdez added this to In progress in Migrate to GitHub Actions via automation Dec 21, 2020
@jezdez jezdez moved this from In progress to In review in Migrate to GitHub Actions Dec 21, 2020
Copy link

@hugovk hugovk left a comment

Choose a reason for hiding this comment

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

Few little copy/pastos

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@aleksihakli aleksihakli left a comment

Choose a reason for hiding this comment

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

Looks good to me aside from the few typos which @hugovk pointed out.

jezdez and others added 3 commits December 21, 2020 18:32
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
@iMerica
Copy link
Owner

iMerica commented Dec 21, 2020

Do not merge. This project doesn't use Travis CI.

@jezdez
Copy link
Collaborator Author

jezdez commented Dec 21, 2020

Do not merge. This project doesn't use Travis CI.

Apologies @iMerica, you may have missed my comment at #1 (comment) where I said that I'm currently porting all Jazzband projects to GitHub Actions, triggered by Travis-CI's recent changes in supporting Open Source projects.

While this project doesn't use Travis, it's imperative to me that maintaining a consistent CI environment is critical to the success of Jazzband, and relying on "free" resources is a delayed technical debt that I need to pay down now instead of having to do it later at a greater cost. I believe it's in the best interest of Jazzband projects and probably helps you delegating more of the work on dj-rest-auth to the rest of the members.

In orther words, Circle CI falls under the category of being more of a risk than an opportunity -- just like Coveralls, AppVeyor and a few other services that have been used over the last 5 years.

Please let me know if you have any other questions, but unless you'd like to transfer the project out of Jazzband, I'm afraid this decision is final.

@iMerica
Copy link
Owner

iMerica commented Dec 21, 2020

I'd prefer to transfer out of Jazzband. Not because I like Circle CI or dislike GitHub Actions, (both are great) but because I don't like the way this is being handled. A bit too unilateral and oligarchical - against the ethos of open source.

Please close this PR and we can discuss transferring back to my personal account.

Thank you,

Michael

@jezdez
Copy link
Collaborator Author

jezdez commented Dec 21, 2020

I'd prefer to transfer out of Jazzband. Not because I like Circle CI or dislike GitHub Actions, (both are great) but because I don't like the way this is being handled. A bit too unilateral and oligarchical - against the ethos of open source.

Please close this PR and we can discuss transferring back to my personal account.

Thank you,

Michael

Hey Micheal, I'm sorry this rubs you the wrong way, all I can say is that I'm not making this unilaterally (e.g. requested your code review right here) or oligarchically (wow!). I want to move to one CI solution (GitHub Actions) since I realized that it's easier and less risky to maintain all Jazzband projects if they are a bit more consistent.

I'm not sure how this is against "the ethos of open source" to be quite honest, but I'd be interested to hear how you'd have handled this instead. Remember I'm not getting paid to do this work.

There isn't much to discuss regarding the transfer to your personal account, except:

  • For some reasons on GitHub's side I'll have to first transfer the repo to my personal account since organization repos can't be transferred to personal accounts of organization members that aren't owners. Once in my personal account I'll immediately request the transfer to you.

  • Once requested, you'll have to accept the repo transfer using the email GitHub sends you.

  • Remember to remove the Jazzband accounts from ReadTheDocs and PyPI.

Please let me know if you have any other question before I do that.

@aleksihakli
Copy link
Contributor

Hey @iMerica! Just chiming in with my personal thoughts since I already participated in the PR process and this caught my eye in the GitHub backlog. Please feel free to disregard my notes here if they don't seem relevant.

A fact behind this PR is that the majority of the Jazzband projects have been running on Travis CI and need to be migrated to another solution, and one of the viable solutions is GitHub Actions which has proven to be quite handy CI service with Python based projects. This migration is being performed as bulk work that needs to be done on dozens of repos, so dj-rest-auth might have been caught, maybe unnecessarily, in that process?

I think people in Jazzband are mainly trying to help out with the package maintenance. Jannis has personally done a lot for the community, offering infrastructure as well as maintenance help for projects on his free time, and I can't imagine his intents being malevolent here?

If this PR process or Jazzband community has violated your maintenance model for the project or was done in an unsuitable way I understand that you need to move the project to your personal account.

However, I would also see this as an opportunity for discussion and improvement on the ways of collaborating. I'm pondering on how could the PR and contributions process be improved for maximum transparency, and what would you like to have seen to be done differently in the Jazzband organization?

@iMerica
Copy link
Owner

iMerica commented Dec 22, 2020

@jezdez

Remember I'm not getting paid to do this work.

None of us are. We all have this in common.

all I can say is that I'm not making this unilaterally

This is clearly not true. A unilateral decision doesn't become less unilateral because you add someone as a reviewer to the PR with the choices: approve the PR or leave. You even go on to say "the decision is final" (whose decision?) in this PR and in #1 you state "I'm porting all Jazzband projects to GitHub Actions" (emphasis mine). I use the word unilateral very deliberately here because it perfectly describes the situation at hand.

There might be completely valid reasons for moving to Github Actions, but as the leader of this project with the most skin in the game, I wasn't even consulted to hear those reasons or weigh in. This sets a very bad precedent no matter how well intentioned.

I'm going to close this PR now since it doesn't solve a specific concrete problem in this project and Circle CI has been working well for us. Overall my preference is to stay in Jazzband, but if it means unilateral PRs with the ultimatum approve or leave, then I would prefer to port this project back to my account.

@iMerica iMerica closed this Dec 22, 2020
Migrate to GitHub Actions automation moved this from In review to Done Dec 22, 2020
@jezdez jezdez moved this from Done to Reviewed in Migrate to GitHub Actions Dec 22, 2020
@jezdez
Copy link
Collaborator Author

jezdez commented Jan 26, 2021

@jezdez

all I can say is that I'm not making this unilaterally

This is clearly not true. A unilateral decision doesn't become less unilateral because you add someone as a reviewer to the PR with the choices: approve the PR or leave.

What you may not know is that I've seen primarily positive feedback from other Jazzband proejcts about the migration to GitHub Actions prior to this PR when the issue of Travis came up. The effect of Travis throttling test runs for Open Source projects was noticable (long delays, tests ran the next day). ~40 projects have already been ported and it was dj-rest-auth's turn to be ported. So I sent this pull request like with all the other PRs I sent to other Jazzband projects. I could have made the change directly but have strived to involve the project leads to keep them informed about infrastructure changes.

To give a bit of context: when Jazzband started, it was basically fair-game to just continue to use whatever service a project may have used before it was transferred. With the recent changes at Travis, I came to realize that if Jazzband wants to stay maintainable long-term, we'll have to revisit that lax pattern of use. That's why we've stopped using AppVeyor, Semaphore, Landscape.io, Coveralls (still ongoing) and many other minor services.

You even go on to say "the decision is final" (whose decision?) in this PR and in #1 you state "I'm porting all Jazzband projects to GitHub Actions" (emphasis mine). I use the word unilateral very deliberately here because it perfectly describes the situation at hand.

The decision to move to GitHub Actions was mine, since I'm a Jazzband roadie (read: admin) whose task is mainly to make sure the Jazzband projects can continue to be maintained. As project lead you may disagree with the decision of course and take the repo elsewhere. I totally understand if you have other priorities and hope you understand that I need to keep the larger goal of Jazzband in mind.

I said "I'm porting all Jazzband projects to GitHub Actions" in #1 since I planned and led the work of manually porting Jazzband projects to GitHub Actions that weren't themselves already using GitHub Actions. Of course there are many other people involved: reviewers, project leads, code contributors. I'm sorry if my choice of words implied it was just me doing the work.

There might be completely valid reasons for moving to Github Actions, but as the leader of this project with the most skin in the game, I wasn't even consulted to hear those reasons or weigh in. This sets a very bad precedent no matter how well intentioned.

Making infrastructure decisions for Jazzband has always been the prerogative of roadies, so this isn't setting a precedent but continues previously agreed upon separation of concerns in the Jazzband GitHub organization. I do think that our discussion here has again proven that we a) need more roadies (jazzband/help#196) and b) that we need to be clear about expectations when we onboard new projects.

I'm going to close this PR now since it doesn't solve a specific concrete problem in this project and Circle CI has been working well for us. Overall my preference is to stay in Jazzband, but if it means unilateral PRs with the ultimatum approve or leave, then I would prefer to port this project back to my account.

Circle CI has been working well so far similar to how Travis worked well until it didn't anymore. This PR is a course correction to make sure Jazzband's infrastructure is maintainable in the future.

Thank you for your willingness to share your concerns here and give feedback so that I can improve the onboarding process and roadie/project lead communication.

I'll be transferring the repo momentarily to your account (see #197 (comment) for how it works). Please remember to remove Jazzband accounts from PyPI and Readthedocs again.

@jezdez jezdez removed this from Reviewed in Migrate to GitHub Actions Jan 26, 2021
@jezdez
Copy link
Collaborator Author

jezdez commented Jan 26, 2021

@iMerica Whelp, there is already dj-rest-auth repo under your namespace. I'll be renaming the intermediate repo to make sure you can transfer the repo as fast as possible.

@jezdez
Copy link
Collaborator Author

jezdez commented Jan 26, 2021

@iMerica Sigh, GitHub doesn't allow transfer a repo (even if not having the same name) if you already have a repo under your account in the network of the repo to be transferred. Could you please remove the repo in your account or let me know where to transfer the repo instead?

@jezdez
Copy link
Collaborator Author

jezdez commented Jan 26, 2021

@iMerica I've moved the repo back to the Jazzband org until we can unblock the transfer back to you. Apologies for the complications.

@iMerica
Copy link
Owner

iMerica commented Jan 28, 2021

No hard feelings. When I joined I was under the impression Jazzband was a group of open source authors helping each other maintain their projects, not a group ruled by the whims of a single person who can make sweeping changes across every repo.

The repo on my namespace has been renamed. Best of luck!

@jezdez
Copy link
Collaborator Author

jezdez commented Jan 28, 2021

No hard feelings. When I joined I was under the impression Jazzband was a group of open source authors helping each other maintain their projects, not a group ruled by the whims of a single person who can make sweeping changes across every repo.

Noted.

The repo on my namespace has been renamed. Best of luck!

Thanks, but renaming seems to be not enough, GitHub expects there to be no repo under a namespace in a repo's "network", aka forks:

CleanShot 2021-01-28 at 11 12 19@2x

I've moved the repo back to Jazzband until this is unblocked.

@iMerica
Copy link
Owner

iMerica commented Jan 30, 2021

I've deleted that other repo. Can you try again? Thank you.

@jezdez
Copy link
Collaborator Author

jezdez commented Feb 1, 2021

I've deleted that other repo. Can you try again? Thank you.

I've sent the transfer request, thank you for your patience.

@jezdez
Copy link
Collaborator Author

jezdez commented Feb 3, 2021

@iMerica Hi Michael, just checking in to see if the transfer request has reached you? I think I may need to send it again since it expires after a while, but I'm not sure after how long. Let me know if that's the case so I can resend the transfer request. Thank you!

@iMerica
Copy link
Owner

iMerica commented Feb 3, 2021

That link expired unfortunately. Can you try again?

@jezdez
Copy link
Collaborator Author

jezdez commented Feb 4, 2021

That link expired unfortunately. Can you try again?

Done.

@iMerica
Copy link
Owner

iMerica commented Feb 4, 2021

Thanks 👍

@auvipy
Copy link

auvipy commented Mar 17, 2021

@jezdez nothing personal but I think this org is too centralized & on an administrative level only managed by one person.

@jezdez
Copy link
Collaborator Author

jezdez commented Mar 17, 2021

@jezdez nothing personal but I think this org is too centralized & on an administrative level only managed by one person.

Hey thanks for the input @auvipy, I think. I totally agree that Jazzband has grown so much that it's way overdue to add a few more people to the Jazzband roadies. This is tracked in jazzband/help#196 where I also shared circumstances for my interest in growing the roadies and some of my plans.

Generally speaking I've learned over the years of managing Jazzband that while there is some concern around the bus-factor, it's much harder to scale Jazzband since it's a volunteer organization (read: few want to do the admin work), and there is no staff or legal structure that would simplify scaling up. Making sure that Jazzband retains its characteristics while it's growing is also difficult but something that must be tackled, I'm certain of that. Until I have more concrete steps to show though, I have to live with feedback like yours or Michael's above. I don't blame you for being frustrated, I really understand it.

@auvipy
Copy link

auvipy commented Mar 17, 2021

but consider my input as feedback to improve the overall exp. thanks for your works btw

@jezdez
Copy link
Collaborator Author

jezdez commented Mar 17, 2021

but consider my input as feedback to improve the overall exp. thanks for your works btw

Absolutely, thank you for YOUR contributions as well!

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

5 participants