build: Unify checksumming behavior
As a rule, dist scripts will always output sha-256 and sha-512 sums but the checksums files will be generated only on releases.
This commit is contained in:
@ -786,7 +786,7 @@ dist-flatpak-weekly:
|
||||
artifacts:
|
||||
expose_as: 'Linux flatpak'
|
||||
paths:
|
||||
- org.gimp.GIMP.Nightly.flatpak
|
||||
- build/linux/flatpak/_Output/
|
||||
expire_in: 8 days
|
||||
|
||||
dist-installer-weekly:
|
||||
|
@ -430,17 +430,25 @@ file "./$APPIMAGETOOL_APP_NAME"
|
||||
#if [ "$CI_COMMIT_TAG" = "$(git describe --all | sed 's|tags/||')" ]; then
|
||||
# mv ${APPIMAGETOOL_APP_NAME}.zsync GIMP-${CHANNEL}-${ARCH}.AppImage.zsync
|
||||
#fi
|
||||
echo -e "\e[0Ksection_end:`date +%s`:${ARCH}_making\r\e[0K"
|
||||
|
||||
|
||||
# 6. GENERATE SHASUMS
|
||||
echo -e "\e[0Ksection_start:`date +%s`:${ARCH}_trust[collapsed=true]\r\e[0KChecksumming $APPIMAGETOOL_APP_NAME"
|
||||
if [ "$CI_COMMIT_TAG" = "$(git describe --all | sed 's|tags/||')" ]; then
|
||||
sha256sum $APPIMAGETOOL_APP_NAME > $APPIMAGETOOL_APP_NAME.SHA256SUMS
|
||||
fi
|
||||
echo "(INFO): $APPIMAGETOOL_APP_NAME SHA-256: $(sha256sum $APPIMAGETOOL_APP_NAME | cut -d ' ' -f 1)"
|
||||
if [ "$CI_COMMIT_TAG" = "$(git describe --all | sed 's|tags/||')" ]; then
|
||||
sha512sum $APPIMAGETOOL_APP_NAME > $APPIMAGETOOL_APP_NAME.SHA512SUMS
|
||||
fi
|
||||
echo "(INFO): $APPIMAGETOOL_APP_NAME SHA-512: $(sha512sum $APPIMAGETOOL_APP_NAME | cut -d ' ' -f 1)"
|
||||
echo -e "\e[0Ksection_end:`date +%s`:${ARCH}_trust\r\e[0K"
|
||||
|
||||
|
||||
if [ "$GITLAB_CI" ]; then
|
||||
output_dir='build/linux/appimage/_Output'
|
||||
mkdir -p $output_dir
|
||||
mv GIMP*.AppImage* $output_dir
|
||||
|
||||
if [ "$CI_COMMIT_TAG" = "$(git describe --all | sed 's|tags/||')" ]; then
|
||||
echo "(INFO): generating checksums for $APPIMAGETOOL_APP_NAME"
|
||||
sha256sum $output_dir/$APPIMAGETOOL_APP_NAME > $output_dir/$APPIMAGETOOL_APP_NAME.SHA256SUMS
|
||||
sha512sum $output_dir/$APPIMAGETOOL_APP_NAME > $output_dir/$APPIMAGETOOL_APP_NAME.SHA512SUMS
|
||||
fi
|
||||
fi
|
||||
echo -e "\e[0Ksection_end:`date +%s`:${ARCH}_making\r\e[0K"
|
||||
done
|
||||
|
@ -3,6 +3,9 @@
|
||||
set -e
|
||||
|
||||
|
||||
APP_ID='org.gimp.GIMP.Nightly'
|
||||
|
||||
|
||||
if [ "$GITLAB_CI" ]; then
|
||||
# Extract previously exported OSTree repo/
|
||||
tar xf repo.tar --warning=no-timestamp
|
||||
@ -11,11 +14,25 @@ fi
|
||||
|
||||
# Generate a Flatpak "bundle" to be tested with GNOME runtime installed
|
||||
# (it is NOT a real/full bundle, deps from GNOME runtime are not bundled)
|
||||
echo -e "\e[0Ksection_start:`date +%s`:flat_making[collapsed=true]\r\e[0KPackaging repo as org.gimp.GIMP.Nightly.flatpak"
|
||||
flatpak build-bundle repo org.gimp.GIMP.Nightly.flatpak --runtime-repo=https://nightly.gnome.org/gnome-nightly.flatpakrepo org.gimp.GIMP.Nightly ${BRANCH}
|
||||
echo -e "\e[0Ksection_start:`date +%s`:flat_making[collapsed=true]\r\e[0KPackaging repo as ${APP_ID}.flatpak"
|
||||
flatpak build-bundle repo ${APP_ID}.flatpak --runtime-repo=https://nightly.gnome.org/gnome-nightly.flatpakrepo ${APP_ID} ${BRANCH}
|
||||
echo -e "\e[0Ksection_end:`date +%s`:flat_making\r\e[0K"
|
||||
|
||||
|
||||
# Generate shasums for .flatpak
|
||||
echo -e "\e[0Ksection_start:`date +%s`:flat_trust[collapsed=true]\r\e[0KChecksumming ${APP_ID}.flatpak"
|
||||
echo "(INFO): ${APP_ID}.flatpak SHA-256: $(sha256sum ${APP_ID}.flatpak | cut -d ' ' -f 1)"
|
||||
echo "(INFO): ${APP_ID}.flatpak SHA-512: $(sha512sum ${APP_ID}.flatpak | cut -d ' ' -f 1)"
|
||||
echo -e "\e[0Ksection_end:`date +%s`:flat_trust\r\e[0K"
|
||||
|
||||
|
||||
if [ "$GITLAB_CI" ]; then
|
||||
output_dir='build/linux/flatpak/_Output'
|
||||
mkdir -p $output_dir
|
||||
mv ${APP_ID}* $output_dir
|
||||
fi
|
||||
|
||||
|
||||
# Publish GIMP repo in GNOME nightly
|
||||
# We take the commands from 'flatpak_ci_initiative.yml'
|
||||
if [ "$GITLAB_CI" ] && [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
|
||||
|
@ -233,7 +233,6 @@ if ("$LASTEXITCODE" -gt '0' -or "$?" -eq 'False')
|
||||
Set-Location $GIMP_BASE
|
||||
Write-Output "$([char]27)[0Ksection_end:$(Get-Date -UFormat %s -Millisecond 0):installer_making$([char]13)$([char]27)[0K"
|
||||
|
||||
|
||||
# Clean changes in the bundles and Inno installation
|
||||
## Revert revisioning
|
||||
foreach ($bundle in $supported_archs)
|
||||
@ -251,22 +250,31 @@ Move-Item "$twain_list_file.bak" $twain_list_file
|
||||
Remove-Item "$INNO_PATH\Languages\Unofficial" -Recurse -Force
|
||||
|
||||
|
||||
# 6. GENERATE CHECKSUMS IN GNU FORMAT
|
||||
Write-Output "$([char]27)[0Ksection_start:$(Get-Date -UFormat %s -Millisecond 0):installer_trust[collapsed=true]$([char]13)$([char]27)[0KChecksumming $INSTALLER"
|
||||
## (We use .NET directly because 'sha*sum' does NOT support BOM from pre-PS6 'Set-Content')
|
||||
$Utf8NoBomEncoding = New-Object -TypeName System.Text.UTF8Encoding -ArgumentList $False
|
||||
$sha256 = (Get-FileHash $INSTALLER -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()
|
||||
if ($CI_COMMIT_TAG)
|
||||
{
|
||||
[System.IO.File]::WriteAllText("$GIMP_BASE\$INSTALLER.SHA256SUMS", "$sha256 *$INSTALLER", $Utf8NoBomEncoding)
|
||||
#Set-Content $INSTALLER.SHA256SUMS "$sha256 *$INSTALLER" -Encoding utf8NoBOM -NoNewline
|
||||
}
|
||||
Write-Output "(INFO): $INSTALLER SHA-256: $sha256"
|
||||
$sha512 = (Get-FileHash $INSTALLER -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()
|
||||
if ($CI_COMMIT_TAG)
|
||||
{
|
||||
[System.IO.File]::WriteAllText("$GIMP_BASE\$INSTALLER.SHA512SUMS", "$sha512 *$INSTALLER", $Utf8NoBomEncoding)
|
||||
#Set-Content $INSTALLER.SHA512SUMS "$sha512 *$INSTALLER" -Encoding utf8NoBOM -NoNewline
|
||||
}
|
||||
Write-Output "(INFO): $INSTALLER SHA-512: $sha512"
|
||||
Write-Output "$([char]27)[0Ksection_end:$(Get-Date -UFormat %s -Millisecond 0):installer_trust$([char]13)$([char]27)[0K"
|
||||
|
||||
|
||||
if ($GITLAB_CI)
|
||||
{
|
||||
# GitLab doesn't support wildcards when using "expose_as" so let's move to a dir
|
||||
$output_dir = "$GIMP_BASE\build\windows\installer\_Output"
|
||||
New-Item $output_dir -ItemType Directory | Out-Null
|
||||
Move-Item $GIMP_BASE\$INSTALLER $output_dir
|
||||
|
||||
# Generate checksums in common "sha*sum" format
|
||||
if ($CI_COMMIT_TAG)
|
||||
{
|
||||
Write-Output "(INFO): generating checksums for $INSTALLER"
|
||||
# (We use .NET directly because 'sha*sum' does NOT support BOM from pre-PS6 'Set-Content')
|
||||
$Utf8NoBomEncoding = New-Object -TypeName System.Text.UTF8Encoding -ArgumentList $False
|
||||
[System.IO.File]::WriteAllText("$output_dir\$INSTALLER.SHA256SUMS", "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER", $Utf8NoBomEncoding)
|
||||
#Set-Content $output_dir\$INSTALLER.SHA256SUMS "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER" -Encoding utf8NoBOM -NoNewline
|
||||
[System.IO.File]::WriteAllText("$output_dir\$INSTALLER.SHA512SUMS", "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER", $Utf8NoBomEncoding)
|
||||
#Set-Content $output_dir\$INSTALLER.SHA512SUMS "$((Get-FileHash $output_dir\$INSTALLER -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$INSTALLER" -Encoding utf8NoBOM -NoNewline
|
||||
}
|
||||
Move-Item $GIMP_BASE\$INSTALLER* $output_dir
|
||||
}
|
||||
|
@ -392,7 +392,7 @@ if (-not $GITLAB_CI -and $wack -eq 'WACK')
|
||||
# (Partner Center does the same thing, for free, before publishing)
|
||||
if ($CI_COMMIT_TAG -notmatch 'GIMP_[0-9]*_[0-9]*_[0-9]*' -and $GIMP_CI_MS_STORE -notlike 'MSIXUPLOAD*' -and $MSIX_ARTIFACT -notlike "*msixupload")
|
||||
{
|
||||
Write-Output "$([char]27)[0Ksection_start:$(Get-Date -UFormat %s -Millisecond 0):msix_sign${msix_arch}[collapsed=true]$([char]13)$([char]27)[0KSelf-signing $MSIX_ARTIFACT (for testing purposes)"
|
||||
Write-Output "$([char]27)[0Ksection_start:$(Get-Date -UFormat %s -Millisecond 0):msix_trust${msix_arch}[collapsed=true]$([char]13)$([char]27)[0KSelf-signing $MSIX_ARTIFACT (for testing purposes)"
|
||||
signtool sign /debug /fd sha256 /a /f $(Resolve-Path build\windows\store\pseudo-gimp*.pfx) /p eek $MSIX_ARTIFACT
|
||||
if ("$LASTEXITCODE" -gt '0' -or "$?" -eq 'False')
|
||||
{
|
||||
@ -400,7 +400,13 @@ if ($CI_COMMIT_TAG -notmatch 'GIMP_[0-9]*_[0-9]*_[0-9]*' -and $GIMP_CI_MS_STORE
|
||||
exit 1
|
||||
}
|
||||
Copy-Item build\windows\store\pseudo-gimp*.pfx pseudo-gimp.pfx -Recurse
|
||||
Write-Output "$([char]27)[0Ksection_end:$(Get-Date -UFormat %s -Millisecond 0):msix_sign${msix_arch}$([char]13)$([char]27)[0K"
|
||||
|
||||
## Generate checksums
|
||||
$sha256 = (Get-FileHash $MSIX_ARTIFACT -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()
|
||||
Write-Output "(INFO): $MSIX_ARTIFACT SHA-256: $sha256"
|
||||
$sha512 = (Get-FileHash $MSIX_ARTIFACT -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()
|
||||
Write-Output "(INFO): $MSIX_ARTIFACT SHA-512: $sha512"
|
||||
Write-Output "$([char]27)[0Ksection_end:$(Get-Date -UFormat %s -Millisecond 0):msix_trust${msix_arch}$([char]13)$([char]27)[0K"
|
||||
}
|
||||
|
||||
|
||||
@ -414,20 +420,6 @@ if ($GITLAB_CI)
|
||||
{
|
||||
Copy-Item pseudo-gimp.pfx $OUTPUT_DIR
|
||||
}
|
||||
|
||||
# Generate checksums in common "sha*sum" format
|
||||
if ($CI_COMMIT_TAG -match 'GIMP_[0-9]*_[0-9]*_[0-9]*')
|
||||
{
|
||||
Write-Output "(INFO): generating checksums for $MSIX_ARTIFACT"
|
||||
# (We use .NET directly because 'sha*sum' does NOT support BOM from pre-PS6 'Set-Content')
|
||||
$Utf8NoBomEncoding = New-Object -TypeName System.Text.UTF8Encoding -ArgumentList $False
|
||||
|
||||
[System.IO.File]::WriteAllText("$OUTPUT_DIR\$MSIX_ARTIFACT.SHA256SUMS", "$((Get-FileHash $OUTPUT_DIR\$MSIX_ARTIFACT -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT", $Utf8NoBomEncoding)
|
||||
#Set-Content $OUTPUT_DIR\$MSIX_ARTIFACT.SHA256SUMS "$((Get-FileHash $OUTPUT_DIR\$MSIX_ARTIFACT -Algorithm SHA256 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT" -Encoding utf8NoBOM -NoNewline
|
||||
|
||||
[System.IO.File]::WriteAllText("$OUTPUT_DIR\$MSIX_ARTIFACT.SHA512SUMS", "$((Get-FileHash $OUTPUT_DIR\$MSIX_ARTIFACT -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT", $Utf8NoBomEncoding)
|
||||
#Set-Content $OUTPUT_DIR\$MSIX_ARTIFACT.SHA512SUMS "$((Get-FileHash $OUTPUT_DIR\$MSIX_ARTIFACT -Algorithm SHA512 | Select-Object -ExpandProperty Hash).ToLower()) *$MSIX_ARTIFACT" -Encoding utf8NoBOM -NoNewline
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user