CI: Add fixes for tagged release runs and assorted minor issues

* Add provisioning profile support for macOS builds
* Fix internal variable names in macOS packaging script
* Add fallback git reference for validator actions
* Add required repository environment to documention deployment jobs
* Pass GitHub pull request number to GitHub CLI explicitly
* Use shortened commit hash for Steam nightly versions
* Ensure that concurrency check for tagged push uses a boolean value
* Update disk image creation function to retry ejection on CI
* Fix repository checkout in Flatpak publish action
* Fix output paths and filenames of generated appcast XML files
* Limit notice about notarization password use to non-CI usage
* Remove architecture-specific suffix from appcast artifact name
This commit is contained in:
Patrick Heyer
2023-07-27 15:26:45 +02:00
committed by GitHub
parent 6034aa4164
commit a2c0d4969a
15 changed files with 65 additions and 15 deletions

View File

@@ -134,8 +134,8 @@ ${_usage_host:-}"
config=${2}
shift 2
;;
-s|--codesign) CODESIGN=1; shift ;;
-n|--notarize) NOTARIZE=1; shift ;;
-s|--codesign) codesign=1; shift ;;
-n|--notarize) notarize=1; shift ;;
-p|--package) typeset -g package=1; shift ;;
--skip-deps) typeset -g skip_deps=1; shift ;;
-q|--quiet) (( verbosity -= 1 )) || true; shift ;;

View File

@@ -1,4 +1,4 @@
autoload -Uz log_debug log_error log_info log_status log_group log_output
autoload -Uz log_debug log_error log_info log_status log_group log_output log_warning
local -r _usage="Usage: %B${0}%b <source> <volume name> <output_name>
@@ -19,7 +19,7 @@ log_group "Create macOS disk image"
local _hdiutil_flags
if (( _loglevel < 1 )) _hdiutil_flags='-quiet'
trap "hdiutil detach ${_hdiutil_flags} /Volumes/${output_name}; rm temp.dmg; log_group return 2" ERR
trap "hdiutil detach ${_hdiutil_flags} /Volumes/${output_name}; rm temp.dmg; log_group; return 2" ERR
hdiutil create ${_hdiutil_flags} \
-volname "${volume_name}" \
@@ -47,7 +47,28 @@ chmod -Rf go-w /Volumes/${output_name}
SetFile -a C /Volumes/${output_name}
rm -rf -- /Volumes/${output_name}/.fseventsd(N)
log_info "Converting disk image..."
hdiutil detach ${_hdiutil_flags} /Volumes/${output_name}
if (( ${+CI} )) {
local _status=0
for i ({1..5}) {
hdiutil detach ${_hdiutil_flags} /Volumes/${output_name} && _status=0 || _status=1
if (( status )) {
log_warning "Unable to eject disk image (attempt #${i}). Retrying."
} else {
break
}
}
if (( status )) {
log_error "Unable to eject disk image after 5 attempts. Aborting"
log_group
return 2
}
} else {
hdiutil detach ${_hdiutil_flags} /Volumes/${output_name}
}
hdiutil convert ${_hdiutil_flags} \
-format ULMO \
-ov \

View File

@@ -15,10 +15,13 @@ if (( ! ${+CODESIGN_IDENT_PASS} )) {
print ''
log_info 'Setting up notarization keychain...'
log_warning "
if (( ! ${+CI} )) {
log_warning "
+ Your Apple ID and an app-specific password is necessary for notarization from CLI
+ This password will be stored in your macOS keychain under the identifier
'OBS-Codesign-Password' with access Apple's 'altool' only.
"
}
xcrun notarytool store-credentials 'OBS-Codesign-Password' --apple-id "${CODESIGN_IDENT_USER}" --team-id "${CODESIGN_TEAM}" --password "${CODESIGN_IDENT_PASS}"