Implement Github Actions workflow for building and publishing multi-arch plugin images
r0mant opened this issue · 1 comments
r0mant commented
Since we're moving to Github Actions, there's no reason to port Drone-based multi-arch implementation from Teleport (gravitational/teleport#17597) to Teleport Plugins as is.
Instead, let's implement a Github Actions workflow for Plugins right from the start to get multi-arch images, and then reuse the same approach for Teleport.
Some high level points on how the workflow would work:
- The workflow should be triggered by a tag push to this repository to keep existing publishing mechanism.
- The workflow should use build-os-package-repos tool implemented as part of multi-arch images for Teleport. The tool might need updating to work in Github Actions and might need to move to a shared repository (e.g. shared-workflows) so it can be used by both Teleport and Plugins.
- The workflow should plug in seamlessly in the existing Drone build/promote pipeline until we fully migrate to Github Actions. In practice this probably means the following process:
- Github Actions, upon being triggered via a tag, will spin and wait for Drone to build artifacts.
- Once artifacts have become available, the workflow will build and push multi-arch images.
- Once that's completed, release manager can trigger promotion which will stay in Drone as the first stage.
Open questions:
- Where does this workflow live - in this repo, or a separate private repo? If it's a separate repo, we could trigger a workflow there via repository dispatch events.
- How do we manage secrets? Can we use Github Packages / ghcr.io to store built images as staging area?
r0mant commented
This is no longer relevant or needed as we'll be moving plugins to Teleport repo.