Update RELEASING.md

This commit is contained in:
Eric Seidel
2023-04-12 16:16:52 -07:00
committed by GitHub
parent ab05cea5a3
commit 05fd2f9ef0
+37 -8
View File
@@ -1,4 +1,4 @@
# Releasing
# Shorebird Release Playbook
Attempting to write down all the steps to releasing a new version of `shorebird`.
@@ -26,18 +26,47 @@ The process must currently be run from an arm64 Mac as we depend on that for
uploading the `patch` artifact. We build patch artifacts from GitHub Actions
for other platforms.
2. Once artifacts are built, you can now make a change to our branch of `flutter`.
(Should we change the script to upload to both dev and prod? Just dev? Just prod,
e.g not bother with a separate dev for artifacts? Should we
have a separate script that promotes from dev to prod?)
2. Once the artifacts for the shorebird engine are uploaded, we now need to teach
artifact_proxy that they exist:
https://github.com/shorebirdtech/shorebird/blob/main/packages/artifact_proxy/lib/config.dart
Once that's made and commited, it should automatically push to dev via GitHub actions:
https://github.com/shorebirdtech/shorebird/actions/workflows/deploy_artifact_proxy_dev.yaml
Currently the dev artifact proxy is:
https://artifact-proxy-kmdbqkx7rq-uc.a.run.app/
(We should change that to be downloads-dev.shorebird.dev?)
3. Once the dev proxy is live it's now possible to test your change locally.
We don't currently have an easy way to point shorebird_cli at the dev proxy
but you can modify your shorebird_cli to do so:
https://github.com/shorebirdtech/shorebird/blob/5f435a9f0fad1a3ed308b21e5be0a9e87408d6e4/packages/shorebird_cli/lib/src/shorebird_process.dart#L89
4. To test your changes you also need to modify `flutter`.
(See also FORKING_FLUTTER.md).
3. Once the change to `flutter` is made, we *should* update `shorebird_cli` dependencies
but that's not wired up yet. Currently we instead push to the stable channel on
`shorebirdtech/flutter`. https://github.com/shorebirdtech/shorebird/issues/282. But
I don't think we want to do that push yet?
I recommend testing the change (and the previous changes), by changing your local
shorebird/bin/cache/flutter/bin/internal/engine.version to your engine version.
4. Once our forked flutter is pushed, we also need to update shorebird_cli to match
At this point, assuming `shorebird` in your path points to your development checkout
you should be able to test your changes with `shorebird release` and `shorebird patch`?
5. Once you believe your changes are working you can commit the change to `flutter`.
We *should* update `shorebird_cli` dependencies to reflect this change,
but that's not wired up yet. Currently we instead push to the stable channel on
`shorebirdtech/flutter`. https://github.com/shorebirdtech/shorebird/issues/282.
We probably want to do that as the last step?
6. Once our forked flutter is pushed, we also need to update shorebird_cli to match
the correct engine revision (this will go away when https://github.com/shorebirdtech/shorebird/issues/282
is fixed).
5. Also need to update our artifact_proxy?
7. We also need to update the version of `shorebird` somewhere?
8. Do we need to push a new version of the backend?
Anything else?