-
Notifications
You must be signed in to change notification settings - Fork 8
Versioning stack artifacts
We're going to try versioning the Maven devfile + outer loop in a single release. Similarly for Gradle.
- Devfile -> Stack Image A1.B1 Docker image/tag (devfile OL version takes precedence over stack image OL, but lose out on caching)
- Devfile -> Outer Loop A2.B2 - GitHub Release HTTPS URL (devfile OL should match outer loop OL version)
- Outer Loop -> Stack Image A3.B3 Docker image/tag (No identified cases were OL version should matter)
- child devfile -> Parent Devfile X.Y.Z
In the future, there should be a preferred Open Liberty version that is cached in a given version of the stack image, but the version should be customizable and parameterizable on the outer loop build).
-
https://github.com/OpenLiberty/devfile-stack
- stack image: image-0.3.0
- devfile: devfile-0.3.0
- Outer loop (Dockerfile, deploy yaml): outer-loop-0.3.0
-
https://github.com/OpenLiberty/devfile-stack-starters
- default-0.3.0
-
https://github.com/OpenLiberty/devfile-stack-intro
- 0.3.0
-
Commit source changes (obviously), push
-
Submit PR, merge PR
-
git tag xxxxx
(for any/all of devfile-x.y.z, stackimage-x.y.z, outer-loop-x.y.z. which apply) Then push tag. For example:(from main branch) git tag devfile-x.x.x git push origin --tags
-
Run build.sh (and use the locally-generated outputs as the input for creating the releases).
-
Create GitHub releases for each of the devfile-x.y.z and/or the outer-loop-x.y.z, whichever apply. (Both are referenced by the CP4Apps pipeline, though the stackimage is not, it's only referenced via the image built from it, so the tag is sufficient for the stack image).
- Go to https://github.com/OpenLiberty/devfile-stack/releases
- Click "Draft new release"
- For "Tag version" find the appropriate tag that you created before
- Name the release the same as the tag name
- Say what changed in the description
- Attach appropriate files from your local "generated" directory (source zips will be automatically added once release is published)
- Click "Publish release"
-
(IBM team only) - For stack image build, use GHE build-java-openliberty-stack-image repo
-
For Devfile change, PR to https://github.com/odo-devfiles/registry/
- put tag in pom.xml
- commit
- tag with mentioned tag, push tag
- Increment version in devfile
- Send PR to https://github.com/odo-devfiles/registry/
- At this point it can be used unofficially as (e.g.)
odo registry update DefaultDevfileRegistry https://github.com/scottkurz/registry
- Tag repo with devfile number
If this ends up being too loose, we could modify this so that we only check in x.y.z-rc1 into our own repo, and then have the PR to the official odo registry use x.y.z
- Test simple-jaxrs with no devfile
- With hot tests
- with debug, then odo test
- Update content
- Update devfile version, increment Dockerfile version in devfile
- Commit devfile referencing next tag
- build image with latest, major.minor, major.minor.micro
- Test simple-jaxrs with no devfile
- Test simple-jaxrs with specific version of devfile (but newer image)
- Consider devfile registry Travis test
- Other odo tests?
- Consider if it should be merged into 'kctr' branch for CP4A Knowledge Center (try to keep fast-forwarding branch)