mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-06 19:12:30 +01:00
Change ci again to upload to getsp.de
This commit is contained in:
parent
b96990accb
commit
7cf9dd1d80
@ -8,7 +8,8 @@ steam_linux:
|
|||||||
- if: "$CI_COMMIT_TAG"
|
- if: "$CI_COMMIT_TAG"
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build-x64-linux-release/bin
|
- build-x64-linux-release/ScreenPlay-$CI_COMMIT_TAG-x64-linux-release.zip
|
||||||
|
- build-x64-linux-release/ScreenPlay-$CI_COMMIT_TAG-x64-linux-release.zip.sha256.txt
|
||||||
|
|
||||||
steam_windows:
|
steam_windows:
|
||||||
stage: release_build
|
stage: release_build
|
||||||
@ -20,8 +21,8 @@ steam_windows:
|
|||||||
- if: "$CI_COMMIT_TAG"
|
- if: "$CI_COMMIT_TAG"
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build-x64-windows-release/
|
|
||||||
- build-x64-windows-release/ScreenPlay-$CI_COMMIT_TAG-x64-windows-release.zip
|
- build-x64-windows-release/ScreenPlay-$CI_COMMIT_TAG-x64-windows-release.zip
|
||||||
|
- build-x64-windows-release/ScreenPlay-$CI_COMMIT_TAG-x64-windows-release.zip.sha256.txt
|
||||||
|
|
||||||
steam_osx:
|
steam_osx:
|
||||||
stage: release_build
|
stage: release_build
|
||||||
@ -33,32 +34,39 @@ steam_osx:
|
|||||||
- if: "$CI_COMMIT_TAG"
|
- if: "$CI_COMMIT_TAG"
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build-64-osx-universal-release/
|
- build-64-osx-universal-release/ScreenPlay-$CI_COMMIT_TAG-x64-osx-universal-release.zip
|
||||||
- build-64-osx-universal-release/bin/ScreenPlay.app
|
- build-64-osx-universal-release/ScreenPlay-$CI_COMMIT_TAG-x64-osx-universal-release.zip.sha256.txt
|
||||||
|
|
||||||
release_job:
|
release_job:
|
||||||
stage: release
|
stage: release
|
||||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||||
script:
|
|
||||||
- |
|
|
||||||
is_pre_release=false
|
|
||||||
if [[ "$CI_COMMIT_TAG" =~ -dev[0-9]+$ || "$CI_COMMIT_TAG" =~ -beta[0-9]+$ || "$CI_COMMIT_TAG" =~ -rc[0-9]+$ ]]; then
|
|
||||||
is_pre_release=true
|
|
||||||
fi
|
|
||||||
if $is_pre_release; then
|
|
||||||
release_name="ScreenPlay Pre-release $CI_COMMIT_TAG"
|
|
||||||
description="🎉 A Wild ScreenPlay Pre-release Appeared!"
|
|
||||||
pre_release_flag="--pre-release"
|
|
||||||
else
|
|
||||||
release_name="ScreenPlay Release $CI_COMMIT_TAG"
|
|
||||||
description="🎉 A Wild ScreenPlay Release Appeared!"
|
|
||||||
pre_release_flag=""
|
|
||||||
fi
|
|
||||||
release-cli create --name "$release_name" \
|
|
||||||
--description "$description" \
|
|
||||||
--tag-name $CI_COMMIT_TAG \
|
|
||||||
--ref $CI_COMMIT_REF_NAME \
|
|
||||||
$pre_release_flag \
|
|
||||||
--assets-link '[{"name":"🐧 Linux x64 build","url":"$CI_PIPELINE_URL/artifacts/file/build-x64-linux-release/bin"},{"name":"🪟 Windows x64 build","url":"$CI_PIPELINE_URL/artifacts/file/build-x64-windows-release/ScreenPlay-$CI_COMMIT_TAG-x64-windows-release.zip"},{"name":"🍏 OSX universal build","url":"$CI_PIPELINE_URL/artifacts/file/build-64-osx-universal-release/bin/ScreenPlay.app"}]'
|
|
||||||
rules:
|
rules:
|
||||||
- if: "$CI_COMMIT_TAG"
|
- if: "$CI_COMMIT_TAG" # Run this job when a tag is created
|
||||||
|
when: on_success # Only when all previous jobs succeed
|
||||||
|
script:
|
||||||
|
# 1. Combining sha256 files into a SHA512-SUMS.txt
|
||||||
|
- echo "Combining sha256 files into a SHA512-SUMS.txt"
|
||||||
|
- python3 Tools/publish_ci.py
|
||||||
|
# 2. Connect to kelteseth.com and handle the folder
|
||||||
|
- echo "Managing remote folder"
|
||||||
|
- apt-get update && apt-get install -y sshpass
|
||||||
|
- sshpass -p $GETSP_PASSWORD ssh $GETSP_USERNAME@kelteseth.com "if [ -d /getsp.de/$CI_COMMIT_TAG ]; then rm -r /getsp.de/$CI_COMMIT_TAG; else mkdir /getsp.de/$CI_COMMIT_TAG; fi"
|
||||||
|
# 3. Upload files to the remote folder
|
||||||
|
- echo "Uploading files"
|
||||||
|
- sshpass -p $GETSP_PASSWORD scp build-x64-linux-release/ScreenPlay-$CI_COMMIT_TAG-x64-linux-release.zip $GETSP_USERNAME@kelteseth.com:/getsp.de/$CI_COMMIT_TAG/
|
||||||
|
- sshpass -p $GETSP_PASSWORD scp build-x64-windows-release/ScreenPlay-$CI_COMMIT_TAG-x64-windows-release.zip $GETSP_USERNAME@kelteseth.com:/getsp.de/$CI_COMMIT_TAG/
|
||||||
|
- sshpass -p $GETSP_PASSWORD scp build-64-osx-universal-release/ScreenPlay-$CI_COMMIT_TAG-x64-osx-universal-release.zip $GETSP_USERNAME@kelteseth.com:/getsp.de/$CI_COMMIT_TAG/
|
||||||
|
- sshpass -p $GETSP_PASSWORD scp SHA512-SUMS.txt $GETSP_USERNAME@kelteseth.com:/getsp.de/$CI_COMMIT_TAG/
|
||||||
|
|
||||||
|
release:
|
||||||
|
tag_name: $CI_COMMIT_TAG
|
||||||
|
name: "ScreenPlay $CI_COMMIT_TAG Released!"
|
||||||
|
description: "🎉 A Wild ScreenPlay Release Appeared!"
|
||||||
|
assets:
|
||||||
|
links:
|
||||||
|
- name: 🐧 Linux x64 build
|
||||||
|
url: "https://getsp.de/$CI_COMMIT_TAG/ScreenPlay-$CI_COMMIT_TAG-x64-linux-release.zip"
|
||||||
|
- name: 🪟 Windows x64 build
|
||||||
|
url: "https://getsp.de/$CI_COMMIT_TAG/ScreenPlay-$CI_COMMIT_TAG-x64-windows-release.zip"
|
||||||
|
- name: 🍏 OSX universal build
|
||||||
|
url: "https://getsp.de/$CI_COMMIT_TAG/ScreenPlay-$CI_COMMIT_TAG-x64-osx-universal-release.zip"
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
formatting:
|
formatting:
|
||||||
stage: check
|
stage: check
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG
|
||||||
|
when: never
|
||||||
image:
|
image:
|
||||||
name: ubuntu:23.10
|
name: ubuntu:23.10
|
||||||
tags:
|
tags:
|
||||||
|
@ -111,12 +111,11 @@ def execute(
|
|||||||
build_installer_duration = time.time() - step_time
|
build_installer_duration = time.time() - step_time
|
||||||
print(f"⏱️ build_installer_duration: {build_installer_duration}s")
|
print(f"⏱️ build_installer_duration: {build_installer_duration}s")
|
||||||
|
|
||||||
# Create a zip file for scoop & chocolatey
|
# Create a zip file of the build
|
||||||
if platform.system() == "Windows":
|
step_time = time.time()
|
||||||
step_time = time.time()
|
build_result = zip(build_config, build_result)
|
||||||
build_result = zip(build_config, build_result)
|
zip_duration = time.time() - step_time
|
||||||
zip_duration = time.time() - step_time
|
print(f"⏱️ zip_duration: {zip_duration}s")
|
||||||
print(f"⏱️ zip_duration: {zip_duration}s")
|
|
||||||
|
|
||||||
duration = time.time() - start_time
|
duration = time.time() - start_time
|
||||||
print(f"⏱️ Build completed in: {duration}s")
|
print(f"⏱️ Build completed in: {duration}s")
|
||||||
|
24
Tools/publish_ci.py
Normal file
24
Tools/publish_ci.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import hashlib
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
def combine_sha256():
|
||||||
|
files = [
|
||||||
|
"build-x64-linux-release/ScreenPlay-" +
|
||||||
|
os.environ['CI_COMMIT_TAG'] + "-x64-linux-release.zip",
|
||||||
|
"build-x64-windows-release/ScreenPlay-" +
|
||||||
|
os.environ['CI_COMMIT_TAG'] + "-x64-windows-release.zip",
|
||||||
|
"build-64-osx-universal-release/ScreenPlay-" +
|
||||||
|
os.environ['CI_COMMIT_TAG'] + "-x64-osx-universal-release.zip"
|
||||||
|
]
|
||||||
|
|
||||||
|
with open('SHA512-SUMS.txt', 'w') as f_out:
|
||||||
|
for file in files:
|
||||||
|
with open(f"{file}.sha256.txt", 'r') as f_in:
|
||||||
|
sha256_hash = f_in.read().strip()
|
||||||
|
sha512_hash = hashlib.sha512(sha256_hash.encode()).hexdigest()
|
||||||
|
f_out.write(f"{sha512_hash} {file}\n")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
combine_sha256()
|
Loading…
Reference in New Issue
Block a user