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 labels to the latest Heroku stack by 1 November 2020 #94

Closed
iteles opened this issue Jul 31, 2020 · 8 comments
Closed

Update labels to the latest Heroku stack by 1 November 2020 #94

iteles opened this issue Jul 31, 2020 · 8 comments
Assignees
Labels
chore a tedious but necessary task often paying technical debt priority-3 Third priority. Considered "Nice to Have". Not urgent. technical A technical issue that requires understanding of the code, infrastructure or dependencies

Comments

@iteles
Copy link
Member

iteles commented Jul 31, 2020

image

https://help.heroku.com/SMQ1J712/cedar-14-end-of-life-faq

@iteles iteles self-assigned this Jul 31, 2020
@iteles iteles added the priority-3 Third priority. Considered "Nice to Have". Not urgent. label Jul 31, 2020
@nelsonic
Copy link
Member

@iteles I strongly suspect that updating the stack will "break" the App as the underlying dependencies have breaking changes. (as noted in #92) I would recommend setting the dependencies to fixed versions in package.json instead of "greater than X" and having a package-lock.json file that reflects these working versions. LMK if you want to pair on this. 👍

@nelsonic nelsonic added chore a tedious but necessary task often paying technical debt technical A technical issue that requires understanding of the code, infrastructure or dependencies labels Jul 31, 2020
@nelsonic
Copy link
Member

nelsonic commented Aug 1, 2020

Even though it's tempting to upgrade the stack as part of #95 (Heroku build fail),
we must resist the temptation because it the Cedar 14 instance has all the older dependencies (that work!), upgrading to Heroku-18 Stack for this app will force us to use Node 12 which will automatically download new versions of the dependencies ...
https://devcenter.heroku.com/articles/nodejs-support#supported-runtimes

Note: the only thing that doesn't work on my localhost, which is running Node v12.18.3 (latest), is shot which is required for testing ... #92 🤦

@nelsonic
Copy link
Member

nelsonic commented Oct 6, 2021

October 2021, The Heroku App is Still Working with the "Old" Stack:

https://label-sync.herokuapp.com/ basically, as long as we don't re-build/restart the dyno it just keeps working ...
image

image

image

image

https://github.com/dwyl/rbac/labels
image

But I just noticed that the descriptions don't sync for a repo that already has the labels ... 💭
So we will need to migrate this to Elixir/Phoenix at some point (so that it's easier to maintain than Hapi...)

We could just use https://github.com/dwyl/elixir-auth-github directly, however,
I have a strong preference for using auth and auth_plug because it abstracts away Auth elegantly.
(obvs that means we need to get Auth working again ... dwyl/auth#143 ... ⏳ P1 ... )

@SimonLab
Copy link
Member

SimonLab commented Feb 28, 2022

So we will need to migrate this to Elixir/Phoenix at some point (so that it's easier to maintain than Hapi...)

I'm thinking of creating a new repository for the Elixir/Phoenix label version (phx-labels or label-sync maybe?).
Creating a new phoenix project on top of the Hapi project will require a lot of cleanup later on.

nelsonic added a commit that referenced this issue Feb 28, 2022
@nelsonic
Copy link
Member

Hi @SimonLab 👋
keen to maintain the existing contributors & context for the project. 💭

Please use the following branch as a starting point if you're thinking of tackling this task:
https://github.com/dwyl/labels/tree/migrate-to-phoenix-issue-%2394

Also, if you don't mind, please break down the task into sub-tasks with separate issues on GitHub with time estimates so that we can measure the time investment in this useful tool. Thanks!

@SimonLab
Copy link
Member

Yes makes sense to keep track of what we have done so far 👍
I'm going to create an epic issue (and sub issues) to track the progress done to switch the project to Elixir.

@nelsonic
Copy link
Member

For now we just want to replicate the existing functionality with tests.
If we can use auth.dwyl.com that would be great.
We don't want to store any PII and definitely no auth tokens on the labels server.
But it might be nice to track basic "sync" (usage) stats in a DB just so we have some history:

  • Who authenticated to use the labels app
  • Which source and target repos they synched between

Crucially we want the descriptions of existing labels to be updated and any new labels to be synched.
If we can record as much of a "dev log" as possible it will help with maintaining the project going forward.
Doesn't have to be a full tutorial like https://github.com/dwyl/phoenix-chat-example but good to have something.

nelsonic added a commit that referenced this issue Jul 5, 2022
@SimonLab
Copy link
Member

SimonLab commented Jul 7, 2022

The Heroku stack has been updated however we redirect the heroku application to https://labels.fly.dev/
see #110

@SimonLab SimonLab closed this as completed Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore a tedious but necessary task often paying technical debt priority-3 Third priority. Considered "Nice to Have". Not urgent. technical A technical issue that requires understanding of the code, infrastructure or dependencies
Projects
None yet
Development

No branches or pull requests

3 participants