Skip to content

Add manual image release job

Adrien Kohlbecker requested to merge ak/release into master

What does this MR do?

Add manual release job so we can tag an image from master and expose it to the users.

The manual job takes an xcode image, updates the password to the production password and saves it as a "production" image.

Any image that we release publicly is saved with a unique identifier: ork-MACOS_VERSION-XCODE_VERSION-YYYYMMDDHHMM.img. That way we can revert to it in the future if we have any problems with images. This pattern matches the 29 char limit for images, assuming 10.15 as macos version and 11 as xcode version.

Then, this is aliased to macos-MACOS_VERSION-xcode-XCODE_VERSION.img in the autoscaler config. See gitlab-org/ci-cd/custom-executor-drivers/autoscaler#68 (closed)

The reason I moved the production password to the release job is so anyone can build and test images up until xcode builds without knowing the password.

Why was this MR needed?

We need a basic release process for OS images, and a nice public identifier for users to refer to them.

What's the best way to test this MR?

I'm adding a temporary rule so the jobs are displayed on this MR for testing. We can remove that rule in a follow up MR. We can also remove the production password from non-protected branches as a follow up.

What are the relevant issue numbers?

Closes #38 (closed)

Edited by Adrien Kohlbecker

Merge request reports