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

Migrating to env-logger-rs GitHub org #163

Closed
5 of 8 tasks
KodrAus opened this issue Jul 12, 2020 · 25 comments
Closed
5 of 8 tasks

Migrating to env-logger-rs GitHub org #163

KodrAus opened this issue Jul 12, 2020 · 25 comments

Comments

@KodrAus
Copy link
Collaborator

KodrAus commented Jul 12, 2020

In #159 we brought up the possibility of moving env_logger into a dedicated GitHub org. I've gone ahead and created one at https://github.com/env-logger-rs

Let's use this issue to track the things we need to do to get the migration ball rolling.

TODO

  • Move the repository into the new organization
  • Add a Code of Conduct (I usually use the one from the Rust project)
  • Migrate CI to GitHub Actions
  • Create a team with publish rights to crates.io
  • Decide on triage / merge procedures
  • Publish a new release with updated repository links and CI badges
  • Set up any app integrations we'd like (bors?)
  • Invite collaborators who might be interested in helping support the project
@jplatte
Copy link
Contributor

jplatte commented Jul 12, 2020

I'd be happy to help maintain the project :)

Migrate CI to GitHub Actions

Why?

@mainrs
Copy link
Contributor

mainrs commented Jul 12, 2020

@jplatte From my personal point of view, I do like that it is closer integrated into GitHub as other CI services. It doesn't require additional rights management or hacks like some other CI that do not pick up on the owner group of repositories. Publishing artifacts does require workarounds on same CI platforms. Less setup is required (like generating tokens for all kind of services you access). GA provides one by default that you can use.

CI is mostly done in #164. There are some open points left though.

@jplatte
Copy link
Contributor

jplatte commented Jul 12, 2020

closer integrated into GitHub as other CI services

This is pretty much one of the reasons I don't like it 😅 It increases vendor lock-in.

It doesn't require additional rights management or hacks like some other CI that do not pick up on the owner group of repositories. Publishing artifacts does require workarounds on same CI platforms. Less setup is required (like generating tokens for all kind of services you access). GA provides one by default that you can use.

All of this seems irrelevant for env_logger. Am I missing something?

@mainrs
Copy link
Contributor

mainrs commented Jul 12, 2020

This is pretty much one of the reasons I don't like it 😅 It increases vendor lock-in.

I totally get that. In a perfect world I'd be hosting my own git servers and CI runners using GitLab for example. But I do think that it makes collaboration easier. These are my two cents:

A lot of new projects just use GA as it's provided by the same people, the integration is nicer and tighter that way. Newer people will probably learn GA first before using something like Travis or Appveyor nowadays. And for exactly those people collaboration is way easier that way, which is one of the goals I try to reach with open source software.

All of this seems irrelevant for env_logger. Am I missing something?

I wouldn't say irrelevant. Back when I used Travis before moving to GitLab only the owner of the repository could do stuff over there for example. And each change to the configuration (adding new environment variables for example) has to be done through the owner itself.

This is just one example though that happened to me often enough to be annoying. Especially when the owner isn't active anymore but other people have push rights. There are probably pro and cons in both directions :)

I also do use GA for all my GitHub projects. It's just easier, more convenient and writing custom actions is A LOT easier in my opinion than writing some weird bash scripts like I did during my GitLab days.

@KodrAus
Copy link
Collaborator Author

KodrAus commented Jul 12, 2020

@jplatte That's a fair question. My motivations for GitHub actions are:

  • To be closer to the CI used by rust-lang projects.
  • So that we can test on Windows and other platforms using a single CI service.
  • So that collaborators automatically have permission to change CI itself (this isn't the case with AppVeyor unfortunately, CI the account runs under is owned by an individual).

It's always nice to be mindful of vendor-lock-in, but since all CI does is run cargo commands I'm not personally worried about it.

@jplatte
Copy link
Contributor

jplatte commented Jul 12, 2020

It's just easier, more convenient and writing custom actions is A LOT easier in my opinion than writing some weird bash scripts

I feel exactly the opposite way. From my perspective GA is overengineered, under-documented, and I've generally had a bad time using it. Bash is not a perfect language by any means, but at least you can easily run it locally and there's tons of resources about it.

So that we can test on Windows and other platforms using a single CI service.

I thought travis also supported Windows now?

Anyway, I think I'm clearly on the loosing side of this here with the amount of projects switching to GA already and both of you wanting the switch, so carry on. I'm still interested in helping with CI-unrelated maintenance tasks :D

@mainrs
Copy link
Contributor

mainrs commented Jul 19, 2020

@jplatte Are you still interested in maintaining the crate with us? I can send an invite over in that case :)

@jplatte
Copy link
Contributor

jplatte commented Jul 19, 2020

@sirwindfield KodrAus already invited me on Monday ;)

@mainrs
Copy link
Contributor

mainrs commented Jul 22, 2020

Btw, maybe a logo might be cool to have! Anything is probably better looking than the default GitHub one 😄 I did one in Affinity, if you guys like it I can add it to the organization.

Just an idea though :p

@mainrs
Copy link
Contributor

mainrs commented Jul 24, 2020

Interest in bors? Might be overkill tbh, because the CI runs again when you rebase the PR. But on the other hand, we doun't have to rebase ourselves then.

I can setup badges and clean the readme a little bit. I will add issue templates as well (bug/feature) so people can choose one when they create an issue. Out of experience however, 99% of the people just ctrl-a delete it so 🤷

Edit: #176 #175

@mainrs
Copy link
Contributor

mainrs commented Jul 24, 2020

Concerning PR merges. I’d like to propose that each pr is reviewed by one of the maintainers. Meaning that no one merges without a review of another one (not like i did today :( )

@mainrs
Copy link
Contributor

mainrs commented Jul 24, 2020

The publish rights for crates is probably have to be provided by the original maintainer to us. Not sure if you already have some @KodrAus

@KodrAus
Copy link
Collaborator Author

KodrAus commented Aug 26, 2020

So it turns out I'm not actually an individual owner of the crate so can't add our Publishers team to it.

@sebasmagri when you have a chance would you be able to run:

cargo owner --add github:env-logger-rs:publishers

in the repo to give the team publish rights?

@jyn514
Copy link

jyn514 commented Oct 15, 2020

ping @sebasmagri :) it would be great to have a new release of env_logger.

@jplatte
Copy link
Contributor

jplatte commented Oct 16, 2020

The publish right have been updated so that is no longer blocked on a single person. I'll look into the currently open issues and PRs and might release a new version soon (unless somebody objects).

@jplatte
Copy link
Contributor

jplatte commented Oct 16, 2020

Done. It's two release, 0.8.0 + 0.8.1, since I first forgot to update the repository links as noted above in the todo list. I haven't created a separate GitHub release for 0.8.1 since it doesn't contain any actual code changes. I hope this works for everyone.

@jplatte
Copy link
Contributor

jplatte commented Oct 17, 2020

Since there was immeditately complains about the missing tag / changelog for 0.8.1, I did now add one 😅

@giganteous
Copy link

Hello,
A small gripe: It's kind of hard to see the changes if the Changelog points to tags, and the tags are absent. Could the old tags be put back, hopefully without changing reality? :-)

@giganteous
Copy link

Oh, I'm sorry. The tags seem to be there, but just not listed on this page. My mistake?

@jplatte
Copy link
Contributor

jplatte commented Nov 4, 2020

That page shows all the tags for me. Either way I'd be happy to copy the GitHub releases info into CHANGELOG.md and maintaining that from now on. If anybody is aware of or would write a script that grabs the markdown changelogs via GitHub's API (I hope the API has these) I'd be very interested! Please don't submit a PR though, verifying that it has the same content as the existing GitHub change logs would be more work than transferring them manually.

@giganteous
Copy link

Now that I've cleared my mind: you are correct, although the tags are not in reverse chronological order, so 0.6.2 is on page 2...

strange github. o.O Cheers, and my sincere apologies for this nuisance.

@mainrs
Copy link
Contributor

mainrs commented Nov 4, 2020

Now that I've cleared my mind: you are correct, although the tags are not in reverse chronological order, so 0.6.2 is on page 2...

GitHub sorts them by the date they have been created. I tagged some missing version tags on the 24th July, that's why they show up in between :)

@epage
Copy link
Contributor

epage commented Nov 10, 2022

We've since moved to rust-cli

@epage epage closed this as completed Nov 10, 2022
@jplatte
Copy link
Contributor

jplatte commented Nov 10, 2022

I see env-logger-rs:publishers still has publish access on crates.io. Not sure whether somebody would be able to take that org name if we delete the org.

@sebasmagri @sfackler you seem to be owners of env-logger on crates.io, can one of you remove the publish access for env-logger-rs:publishers?

@epage
Copy link
Contributor

epage commented Nov 10, 2022

And can you add rust-cli:Maintainers as well as possibly myself directly?

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

No branches or pull requests

6 participants