ci: increment fnOS package version per build
This commit is contained in:
Vendored
+30
-3
@@ -84,8 +84,32 @@ pipeline {
|
||||
if (!env.APP_VERSION || !env.SHORT_SHA) {
|
||||
error('Unable to resolve fnOS version or Git commit.')
|
||||
}
|
||||
env.FNOS_VERSION = sh(
|
||||
script: '''
|
||||
set -euo pipefail
|
||||
base=$(sed -n 's/^version=//p' fnos/manifest | head -n 1)
|
||||
major=${base%%.*}
|
||||
remainder=${base#*.}
|
||||
minor=${remainder%%.*}
|
||||
patch=${remainder#*.}
|
||||
test "$base" = "$major.$minor.$patch" || {
|
||||
echo "Invalid base version: $base" >&2
|
||||
exit 1
|
||||
}
|
||||
case "$major.$minor.$patch" in
|
||||
*[!0-9.]*|.*|*..*|*.) echo "Invalid base version: $base" >&2; exit 1 ;;
|
||||
esac
|
||||
test "$BUILD_NUMBER" -lt 100000 || {
|
||||
echo 'BUILD_NUMBER must remain below 100000 for fnOS version ordering.' >&2
|
||||
exit 1
|
||||
}
|
||||
ci_patch=$((patch * 100000 + BUILD_NUMBER))
|
||||
printf '%s.%s.%s\n' "$major" "$minor" "$ci_patch"
|
||||
''',
|
||||
returnStdout: true
|
||||
).trim()
|
||||
env.IMMUTABLE_TAG = "${env.APP_VERSION}-b${env.BUILD_NUMBER}-${env.SHORT_SHA}"
|
||||
env.FPK_BASENAME = "liverecorder-${env.IMMUTABLE_TAG}-x86_64.fpk"
|
||||
env.FPK_BASENAME = "liverecorder-${env.FNOS_VERSION}-x86_64.fpk"
|
||||
env.FPK_PATH = "${env.WORKSPACE}/artifacts/ci/${env.FPK_BASENAME}"
|
||||
currentBuild.displayName = "#${env.BUILD_NUMBER} ${env.APP_VERSION} ${env.SHORT_SHA}"
|
||||
currentBuild.description = "${env.IMMUTABLE_TAG}"
|
||||
@@ -147,8 +171,9 @@ pipeline {
|
||||
steps {
|
||||
sh '''
|
||||
set -euo pipefail
|
||||
FNPACK="$FNPACK_BIN" ./scripts/build-fnos-package.sh "$FPK_PATH"
|
||||
./scripts/verify-fnos-package.sh "$FPK_PATH"
|
||||
PACKAGE_VERSION="$FNOS_VERSION" FNPACK="$FNPACK_BIN" \
|
||||
./scripts/build-fnos-package.sh "$FPK_PATH"
|
||||
./scripts/verify-fnos-package.sh "$FPK_PATH" "$FNOS_VERSION"
|
||||
test -s "$FPK_PATH.sha256"
|
||||
'''
|
||||
}
|
||||
@@ -345,6 +370,8 @@ pipeline {
|
||||
set -euo pipefail
|
||||
printf '%s\n' \
|
||||
"Commit: $(git rev-parse HEAD)" \
|
||||
"Product version: $APP_VERSION" \
|
||||
"fnOS package version: $FNOS_VERSION" \
|
||||
"fnOS: $FPK_BASENAME" \
|
||||
"Checksum: $(awk '{print $1}' "$FPK_PATH.sha256")" \
|
||||
"API amd64: $API_IMAGE_REPO:$IMMUTABLE_TAG-amd64" \
|
||||
|
||||
Reference in New Issue
Block a user