2DegreesInvesting / tiltWebTool

https://bit.ly/tilt-app-info
https://2degreesinvesting.github.io/tiltWebTool/
GNU General Public License v3.0
1 stars 0 forks source link

Update welcome.yml #255

Closed Tilmon closed 2 months ago

Tilmon commented 3 months ago

@kalashsinghal or @maurolepore please accept this change to remove the link from the welcome page. Thanks! @maurolepore will the change automatically be implemented in the user facing app or only in the tilt-staging app? If it's not automatically implemented in user facing app, what do we need to do to also implement it there?


The whole game:

kalashsinghal commented 3 months ago

@Tilmon You also need to update the snapshot by running this command in the console:

testthat::snapshot_accept('welcome')

Please run this command after running all the tests in file test-welcome.R! Let's see if you can do this change by yourself :D

maurolepore commented 3 months ago

FYI I updated the top comment. It now includes the valid keyword "close", expands the issue title (by starting the line with * ...)., and includes the practice checklist.

Kalash

@kalashsinghal, I think updating snapshots is beyond the scope of what we're trying to achieve.

It seems to me that the best use of Tilman's and Anne's time is not on the package-development side of things but in giving you the exact changes they want. Doing this themselves significantly reduces the communication time and increases the accuracy the changes they propose.

Measured in team-time the most efficient workflow will most likely be this:

Tilman

Thanks! @maurolepore will the change automatically be implemented in the user facing app or only in the tilt-staging app?

@Tilmon this will update only tilt-staging.

A staging environment (stage) is a nearly exact replica of a production environment for software testing. Staging environments are used to test codes, builds and updates to ensure quality under a production-like environment before application deployment.

Updating the user-facing app automatically is too risky. It's quite likely for our intuition to suggest that a change is fine but unexpectedly break something of the app. For an example of this see why and how to test the app locally (5' video^1)

If it's not automatically implemented in user facing app, what do we need to do to also implement it there?

Consider the checklist at the top. You may go through a few cycles of (1)-(2) before you feel like you need a new release. Then you or Anne validate that tilt-staging looks OK (3), ask @kalashsinghal to create a new release (4), and finally you all confirm that the user-facing app looks OK (5).

Specifically, creating a new release (4) means that that @kalashsinghal will move the branch release to point to main and will push it to GitHub (10' video)^2:

git rebase main release
git push release

This workflows IS more rigorous than what you have ever experienced. You can cut corners by skipping validation steps, but the more you do that the more likely it is that the users will experience something you didn't expect.

This is a lot to digest. I know practicing this now is painful but doing it after I leave is likely going to be even more painful. I suggest we bite the bullet and try this now. Feel free to setup meetings with me Friday 30 after 15:00 Berlin or leave questions for me to respond later in the day.


kalashsinghal commented 3 months ago

I think updating snapshots is beyond the scope of what we're trying to achieve. It seems to me that the best use of Tilman's and Anne's time is not on the package-development side of things but in giving you the exact changes they want.

Hi @maurolepore Thanks for your insight! I now have a better understanding on the complete workflow. I have seen your 10 mins video for moving the branch release to point to main. I have one question and one request:

  1. What the are git commands glol and gp that you used in the video? I guess they are shortcuts, however I don't completely understand them. Therefore, please outline all the git commands without shortcuts! Thanks!
  2. I tried to resolve the check fails after updating the snapshots and merging the main branch . However, I can see that the same snapshot test fails are appearing on github and not locally on my system. Do you know why is that? It seems a completely new issue to me. Is it because I am using an outdated package? Is yes, then which one?
Tilmon commented 3 months ago

hi @maurolepore thanks for the additional explanation of the workflow! And @kalashsinghal thanks for biting the bullet and testing everything out :)

cc' @AnneSchoenauer just FYI, we are testing the workflow

Tilmon commented 3 months ago

And @maurolepore it's really insane how many guidance videos you created for us!!

maurolepore commented 2 months ago

@kalashsinghal the "shortcuts" you mention are aliases for git log and git push:

➜  ~ alias glol
glol='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset"'
➜  ~ alias gp
gp='git push'

And here are all my aliases: https://github.com/maurolepore/dotfiles/blob/main/aliases.zsh

maurolepore commented 2 months ago

@kalashsinghal RE the snapshots, it's weird the snapshots I see in this PR are unrelated to the change that Tilman did, and I can't reproduce your problem -- see https://github.com/2DegreesInvesting/tiltWebTool/pull/256.

So yeah, it seems like your local environment is somehow different. I suggest:

Then checkout this PR and try again.

kalashsinghal commented 2 months ago

@maurolepore Thanks for your insight! One of the package on my system was not updated. I have resolved the issue, and I will now merge this PR. :)

I have also run the app locally and it ran fine :)