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

Allow auto deployment of test versions to App Engine #1387

Closed
tunetheweb opened this issue Oct 25, 2020 · 2 comments
Closed

Allow auto deployment of test versions to App Engine #1387

tunetheweb opened this issue Oct 25, 2020 · 2 comments
Assignees
Labels
development Building the Almanac tech stack
Projects

Comments

@tunetheweb
Copy link
Member

tunetheweb commented Oct 25, 2020

It can be handy to build a test deployment for a branch as easier to review the pull request once you see something in action. We've used this a few times and it's quite handy - especially for those without the full dev environment set up or less technical in nature.

This will be especially useful as chapters start to be submitted by authors now.

Thoughts:

  • Auto-deploy on opening a pull request with .*py, *.json, .*md, .*html, *.js or .css (i.e. basically everything but PRs with only *.sql files). Or maybe just on every PR open if easier?
  • Only deploy on completion of successful build.
  • Ability to redeploy somehow (e.g. if a certain comment (GitHub deploy) or label is added?) as I think redeploying on every push to an open pull request could be too much.
  • Run through GitHub actions.
  • The action should comment on the PR with the test deploy URL.
  • Also add ability to manually deploy for a branch
  • What about auto deploying a test version on merge to master as well?
  • Should have some clear down job of test deployments - either when PR is accepted, or nightly/weekly.
  • Need to keep our App Engine account secure but tested using GitHub secrets and believe it can be made secure (will test some more).

We've got a service account set up so will start testing this but opening this issue to track this and invite comments/suggestions.

If this goes well, perhaps could consider deploying to prod as well through manual triggering of a separate action? Will open a separate issue for that once this one is resolved as it has other things to consider e.g. version numbering, how to update release (I've an open issue with GitHub CLI that would be needed to fully automate this)) and when to auto deploy. But noting here as long term goal.

@tunetheweb tunetheweb added the development Building the Almanac tech stack label Oct 25, 2020
@tunetheweb tunetheweb added this to the 2020 Platform Development milestone Oct 25, 2020
@tunetheweb tunetheweb self-assigned this Oct 25, 2020
@tunetheweb tunetheweb added this to TODO in 2020 via automation Oct 25, 2020
@tunetheweb tunetheweb changed the title Allow auto deployment to App Engine Allow auto deployment of test versions to App Engine Oct 25, 2020
@rviscomi
Copy link
Member

Auto-deploy on opening a pull request with .*py, *.json, .*md, .*html, *.js or .css (i.e. basically everything but PRs with only *.sql files). Or maybe just on every PR open if easier?

A different heuristic that could be useful may be "did any of the prod files change as a result of building the PR?" For sql the answer would be no, so nothing to deploy/stage.

@tunetheweb
Copy link
Member Author

As discussed on slack, closing this until Github gives us better ways to restrict access to secrets to certain branches or users.

2020 automation moved this from TODO to Done Oct 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Building the Almanac tech stack
Projects
No open projects
2020
  
Done
Development

No branches or pull requests

2 participants