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

add workflow for release automation #2171

Merged

Conversation

AlvinSchiller
Copy link
Collaborator

Added a workflow to automatically create releases on merging to master.

Implemented Process

  • Every push to master triggers the action to create a release
  • The action
    • checks if it should run
      • only on the MainRepo "MiczFlor"
      • only for branches master
      • on master only if the version in ./settings/version-number is a release version*
    • if no release for the version is found, one is created (type release with generated releasenotes) incl. tag
    • updates the release, but name and body will not be overwritten.

* version string are validated against Semantic Versioning format
e.g. release: 1.0.0, 3.5.0, 100.4.50000+metadata
e.g. prerelease: 1.0.0-alpha, 3.5.0-whatsoever.12, 100.4.50000-identifier.12+metadata

Prior to merging to master the version in ./settings/version-number has to be updated to the next release version.
If the version merged to master is still a prerelease version, the workflow is aborted.

Demo

  • Test Branch with current changes (demo versionnumber 2.5.0-alpha)
  • Pull Request to merge changes. Action is not triggerd.
  • Merge on AlvinSchiller/develop results in Action is not triggerd.
  • New Commit on AlvinSchiller/develop results in Action is not triggerd.
  • Pull Request to merge changes to AlvinSchiller/master. Action is not triggerd (don't know why the last run from the commit is shown in checks)
  • Merge on AlvinSchiller/master results in Action run but cancels due to incorrect release version number
  • New Commit on AlvinSchiller/develop to change version number to release results in Action is not triggerd.
  • Pull Request to merge changes to AlvinSchiller/master. Action is not triggerd (don't know why the last run from the commit is shown in checks)
  • Merge on AlvinSchiller/master results in Action run and creation of Tag and Release v2.5.0 including releasenotes and latest flag
  • New Commit on AlvinSchiller/master results in Action run andupdates existing Release v2.5.0
  • New Commit on AlvinSchiller/master to change version number to next bugfix release results in Action run and creation of Tag and Release v2.5.1 including releasenotes

@coveralls
Copy link

Pull Request Test Coverage Report for Build 7269270135

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 76.82%

Totals Coverage Status
Change from base Build 7182031367: 0.0%
Covered Lines: 633
Relevant Lines: 824

💛 - Coveralls

.github/workflows/release.yml Show resolved Hide resolved
@AlvinSchiller AlvinSchiller merged commit b3d1374 into MiczFlor:develop Dec 20, 2023
33 of 34 checks passed
@AlvinSchiller AlvinSchiller deleted the feature/release_automation branch December 20, 2023 12:17
AlvinSchiller added a commit to AlvinSchiller/RPi-Jukebox-RFID that referenced this pull request Dec 21, 2023
* fix editorconfig for yml files

* set next develop version

* add workflow for releases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants