Skip to content

Commit

Permalink
Adjust logic for calculating version
Browse files Browse the repository at this point in the history
In most cases, `GITHUB_REF` is set to something that starts with `refs/*`. There is a bug where it's not set and when that happens, we get a bad release. The version calculation happens incorrectly and it uses the git commit hash for the version, but that does not work for an actual release.

There are three scenarios when the version is calculated:

- When publishing a builder
- When publishing a buildpack
- When running tests for publishing a builder (i.e. create-package)

The first two happen on release, and should read the tag and parse out the semver number. The latter should not have a version so it will fallback to running git to obtain the git commit hash and use that for a version.

We were previously trying to detect the case where the variable was unset or empty, but didn't have the logic right. This PR switches things so that we look to make sure `GITHUB_REF` starts with `refs/*`. I'm hoping this will be more reliable.

Signed-off-by: Daniel Mikusa <[email protected]>
  • Loading branch information
dmikusa committed Feb 14, 2024
1 parent a6b115e commit 8999ff6
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions octo/compute-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

set -euo pipefail

if [ -z "${GITHUB_REF+set}" ]; then
echo "GITHUB_REF set to [${GITHUB_REF-<unset>}], but should never be empty or unset"
if [[ ${GITHUB_REF:-} != "refs/"* ]]; then
echo "GITHUB_REF set to [${GITHUB_REF:-}], but that is unexpected. It should start with 'refs/*'"
exit 255
fi

Expand Down
Loading

0 comments on commit 8999ff6

Please sign in to comment.