Skip to content

v1.0.1 + version workflow#23

Merged
marcelrgberger merged 3 commits intomainfrom
beta
Mar 26, 2026
Merged

v1.0.1 + version workflow#23
marcelrgberger merged 3 commits intomainfrom
beta

Conversation

@marcelrgberger
Copy link
Copy Markdown
Owner

.

- Set Version workflow: MAJOR/MINOR/PATCH via workflow_dispatch
- Only runs on development branch
- Bumps MARKETING_VERSION + CURRENT_PROJECT_VERSION in project.yml
- Creates git tag
- Build workflow now also supports workflow_dispatch
Add version workflow + manual build trigger
Copilot AI review requested due to automatic review settings March 26, 2026 15:51
@marcelrgberger marcelrgberger merged commit f2a184d into main Mar 26, 2026
1 check passed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds GitHub Actions automation to bump the app version/build in project.yml, and enables manual runs of the existing build/release workflow.

Changes:

  • Introduce a new workflow (set-version.yml) to bump MARKETING_VERSION and CURRENT_PROJECT_VERSION, commit, and tag.
  • Allow build-and-release.yml to be triggered via workflow_dispatch in addition to branch pushes.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
.github/workflows/set-version.yml New manual “version bump” workflow that edits project.yml, commits, tags, and pushes to development.
.github/workflows/build-and-release.yml Adds workflow_dispatch trigger to allow manual execution.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +51 to +55
VERSION=$(grep 'MARKETING_VERSION:' "$FILE" | head -1 | awk '{print $2}' | tr -d '"')
BUILD=$(grep 'CURRENT_PROJECT_VERSION:' "$FILE" | head -1 | awk '{print $2}' | tr -d '"')

IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"

Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERSION/BUILD are parsed from project.yml and then used in arithmetic without validating that they were found and are numeric/semver (e.g., empty or malformed values will make the bump logic fail or write an invalid version back). Add explicit checks that VERSION matches ^[0-9]+\.[0-9]+\.[0-9]+$ and BUILD is an integer before proceeding, and emit a clear error if parsing fails.

Copilot uses AI. Check for mistakes.
Comment on lines +81 to +83
git commit -m "Version $NEW_VERSION (build $NEW_BUILD)"
git tag -a "v$NEW_VERSION" -m "Release v$NEW_VERSION"
git push origin development
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This workflow creates and pushes an annotated vX.Y.Z tag on development. That can conflict with the build/release workflow (which also creates/releases v$VERSION on main) and can result in releases pointing at the wrong commit or failing if the tag already exists. Consider removing tag creation here, or only tagging when the release is cut on main (or ensure the downstream release step targets the correct commit).

Copilot uses AI. Check for mistakes.
git commit -m "Version $NEW_VERSION (build $NEW_BUILD)"
git tag -a "v$NEW_VERSION" -m "Release v$NEW_VERSION"
git push origin development
git push origin --tags
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

git push origin --tags will push all local tags, not just the newly created release tag, which is risky if other tags exist on the runner checkout. Push only the specific tag you just created (e.g., v$NEW_VERSION).

Suggested change
git push origin --tags
git push origin "v$NEW_VERSION"

Copilot uses AI. Check for mistakes.
on:
push:
branches: [test, beta, main]
workflow_dispatch:
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding workflow_dispatch allows this expensive/signing/notarization workflow to be triggered on any branch/ref by anyone with dispatch permissions. If that’s not intended, add a branch guard (or an input + validation) so manual runs are limited to test/beta/main, matching the push trigger.

Copilot uses AI. Check for mistakes.
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.

2 participants