owncast icon indicating copy to clipboard operation
owncast copied to clipboard

Create automated upgrade test

Open gabek opened this issue 3 years ago • 1 comments

  • Start at an older version
  • Make some API calls to configure it
  • Check out each release tag and build + run
  • Once getting to the destination version make sure it builds + runs and the configuration that is expected to be there still is.

gabek avatar Apr 24 '22 02:04 gabek

Good First Issue

This item was marked as a good first issue because of the following:

  • It's self contained as a single feature or change.
  • Is clear when it's complete.
  • You do not need deep knowledge of Owncast to accomplish it.

Next Steps

  1. Comment on this issue before starting work so it can be assigned to you. Also, this issue may have been filed with limited detail or changes may have occured that are worth sharing with you before you start work.
  2. Drop by our community chat if you'd like to be involved in more real-time discussion around Owncast to talk about this change.
  3. Make sure you can build and run the project from source.

Notes

  • Current web work is taking place in the webv2 branch and it is very much work in progress. Read the README for this branch to get the web project running. But it's mostly just a npm install and npm run dev.
  • We use Storybook for testing and developing React components. npm run storybook.
  • If you need to install the Go programming language to run the Owncast backend it's simple from here.

github-actions[bot] avatar Sep 12 '22 22:09 github-actions[bot]

I might take a shot at this. Few questions:

  • At what version to start? Or when has the config been stabilized?
  • Should it test every single version since the start?
  • Is just fetching the release artifact from back then okay? That would prevent build issues that might arise by building older versions with newer Go versions

4censord avatar Oct 10 '22 15:10 4censord

Hey there! These are good questions! In theory we should be able to start from the very earliest release, but the downside is up to v0.0.6 a config file was used to configure an instance instead of an API. So I think it could be fair to say 0.0.6 could be the starting point.

That's a good idea to just use the binaries. And since this is the type of test that is important before a release, the most recent version wouldn't yet have a release available Another option might be to use Docker images.

gabek avatar Oct 10 '22 15:10 gabek