diff --git a/.github/actions/bump-version/action.yaml b/.github/actions/bump-version/action.yaml index 33b56ec..7616045 100644 --- a/.github/actions/bump-version/action.yaml +++ b/.github/actions/bump-version/action.yaml @@ -83,6 +83,8 @@ runs: } resolve_release_line() { + local package_version + if [[ -n "${INPUT_RELEASE_LINE}" ]]; then if ! validate_release_line "${INPUT_RELEASE_LINE}"; then echo "Invalid release_line input '${INPUT_RELEASE_LINE}'. Expected format: ." >&2 @@ -102,16 +104,13 @@ runs: return 0 fi - if [[ "${BRANCH}" == "develop" ]]; then - local package_version - package_version="$(read_package_version)" - if [[ "${package_version}" =~ ^([0-9]+)\.([0-9]+)\.[0-9]+([-.].*)?$ ]]; then - echo "${BASH_REMATCH[1]}.${BASH_REMATCH[2]}" - return 0 - fi + package_version="$(read_package_version)" + if [[ "${package_version}" =~ ^([0-9]+)\.([0-9]+)\.[0-9]+([-.].*)?$ ]]; then + echo "${BASH_REMATCH[1]}.${BASH_REMATCH[2]}" + return 0 fi - echo "Unable to determine release line for branch '${BRANCH}'. Use release/., run in a PR targeting such a branch, or provide inputs.release_line." >&2 + echo "Unable to determine release line for branch '${BRANCH}'. Use release/., provide inputs.release_line, or ensure package.json contains a semantic version." >&2 exit 1 } diff --git a/README.md b/README.md index ac9f344..6be26bf 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Creates or updates the version in `package.json`, commits it, creates a matching Inputs: - `node_version`: Node.js version to use. Default: `24` -- `release_line`: optional release line for dev builds when it cannot be derived from the branch or PR target. Format: `.` +- `release_line`: optional release line for dev builds. Format: `.`. Overrides branch, PR target, and `package.json`. - `gitea_token`: optional token used for checkout and push Branch and tag rules: @@ -23,7 +23,7 @@ Dev release line resolution order: - `inputs.release_line` - current branch if it matches `release/.` - PR target branch if it matches `release/.` -- on `develop`, fallback to `major.minor` from `package.json` +- `major.minor` from `package.json` If no release line can be resolved for a dev build, the action fails intentionally. @@ -39,6 +39,7 @@ Branch examples: - `release/2.4` -> next `v2.4.0-beta.N` - feature branch in a PR to `release/2.4` -> `v2.4.0-dev.` +- feature branch outside a PR with `package.json` version `2.4.0` -> `v2.4.0-dev.` - feature branch outside a PR with `release_line: 2.4` -> `v2.4.0-dev.` Example: