Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: improve release robustness (#275)
This commit reorders operations in order to reduce the scope for error in case of a CI failure. We run the release job concurrently for each region. If any job fails, all other jobs are interrupted. This opened the possibility for the root `packaged.yaml` template to be uploaded, but with incorrect ACLs. We should always copy the template with the ACL directive. This eliminates the possibility of the object existing with the incorrect permissions. Furthermore, we should only upload the template once all objects it refers to are also publicly readable. That way we ensure that if the template is accessible, it is also installable. In debugging this issue I also uncovered we were building things twice: once for the version (e.g. `1.2.0`), and again for the tag (e.g. `beta`). There is no reason to rebuild things a second time, all we need is to ensure the `packaged.yaml` is placed in the correct destination. This has the advantage of reducing build time, avoiding build discrepancies, and ensuring the `version` embedded in the binary always refers to a concrete version rather then tag. As a result of "symlinking" the file, we no longer need to protect against a folder ballooning in size over successive builds. `latest/` and `beta/` should now only contain one file.
- Loading branch information