Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support new feature development and final releases through github actions #1

Open
16 of 23 tasks
gberche-orange opened this issue Sep 28, 2023 · 0 comments
Open
16 of 23 tasks
Labels
enhancement New feature or request

Comments

@gberche-orange
Copy link
Member

gberche-orange commented Sep 28, 2023

This is a follow up of orange-cloudfoundry#6

Use cases

Cut a new final release

As a paas-templates author
In order to cut and official new release
I need an automated process to

  • build a final bosh release
  • publish it into a draft github release along with artefacts

Given a tag is manually pushed

git tag -a -m "manually cutting 0.7.0" 0.7.0
git push origin 0.7.0
  • Then the release-after-build workflow triggers
    • creates a new branch 0.7.0-release
    • push the new branch 0.7.0-release
    • build a final bosh release 0.7.0
    • commits the bosh files to branch 0.7.0-release
    • merge the branch 0.7.0-release into master and push master
    • create a new tag 0.7.0-bosh
    • publish it into a final github release 0.7.0 along with artefacts

Contribute new feature

As a paas-templates author
In order to contribute to the release (e.g. add new properties such as #6)
I need an automated process to

  • build a final bosh release
  • publish it into a draft github release along with artefacts (named after the feature branch name + commit-hash summary)

Given a feature branch issue-6-tracing is pushed and referenced in a PR #7

  • Then a worflow triggers and creates a bosh final release published into a draft github release

Pb: coa and paas-templates only support immutable bosh releases and forward-only naming schemes.

Test a new feature onto a bosh director

Given a feature branch issue-6-tracing is pushed and referenced in a PR #7
And a draft github release published the release tgz and git tag
When I need test it in paas-templates onto a bosh director
And I update the coa root-deployment.yml to bump to the new version
Then coa precompiles the release and trigger new deployment

Current state

Branches

  • master

Workflows:

  • a develop manually creates a tag for a new release following some custom commits (i.e. besides automated release from renovate PRs, see Automated merge of renovate PR and release creation k3s-packages-boshrelease#6)
    • git tag -a v1.25.4+k3s1+bosh-1 -m "additional release for wrapper changes"
  • .github/workflows/on-tags.yml (say tag 124.14)
    • vendors
    • add blob
    • create final bosh release (eg releases/k3s/k3s-124.14.yml)
      • commit & push final release
    • push release tag (say v124.14) with updated final bosh release source (eg releases/k3s/k3s-124.14.yml)
    • create github release
    • upload release tgz to github release for the original tag (124.14)
      • modify to push to release tag (say v124.14)
  • .github/workflows/on-commits.yml from master and release-* branches
    • vendors
    • add blob
    • create non final dev bosh release
    • upload bosh dev release tgz artifact

Renovate:

@poblin-orange poblin-orange added the enhancement New feature or request label Sep 28, 2023
@gberche-orange gberche-orange changed the title Automated bosh release through github actions Automated developer-initiated bosh release through github actions Jan 2, 2024
@gberche-orange gberche-orange transferred this issue from orange-cloudfoundry/k3s-boshrelease Jan 2, 2024
@gberche-orange gberche-orange transferred this issue from orange-cloudfoundry/k3s-packages-boshrelease Jan 2, 2024
@gberche-orange gberche-orange changed the title Automated developer-initiated bosh release through github actions Support new feature development and final releases through github actions Jan 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants