From fb5901e3c846efdfd58d3dca475e67045db5d0f7 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 14:43:19 +0100 Subject: [PATCH 01/63] Basic buildinfo (References: #109) --- .github/workflows/sub-build-linux.yml | 45 ++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 18a3e45c..dffd5eff 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -2,7 +2,45 @@ name: SUB - Build on Linux on: workflow_dispatch: + inputs: + env: + description: "An Environment" + required: true + type: choice + options: + - development + - production + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + workflow_call: + inputs: + env: + description: "An Environment" + required: true + type: string + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + +env: + app_name: ${{ inputs.env == 'production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} + app_id: net.prominic.${{ inputs.env == 'production' && 'genesis.superhumaninstaller' || 'net.prominic.genesis.superhumaninstallerdev' }} + full_version: ${{ inputs.version }}.${{ github.run_number }} + haxe_flag: ${{ inputs.env == 'production' && '-final' || '-debug' }} jobs: build: @@ -11,4 +49,9 @@ jobs: steps: - name: Build info run: | - echo "Stub flow" \ No newline at end of file + echo "Ref: ${{ github.ref_name }}" + echo "Env: ${{ inputs.env }}" + echo "Version: ${{ env.full_version }}" + echo "App Name: ${{ env.app_name }}" + echo "App ID: ${{ env.app_id }}" + echo "Haxe Env Flag: ${{ env.haxe_flag }}" \ No newline at end of file From cd2d8ca0777cab056b4762a7fd521087f8522452 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 14:45:31 +0100 Subject: [PATCH 02/63] Fix app id (References: #109) --- .github/workflows/sub-build-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index dffd5eff..d0fc8a0d 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -38,7 +38,7 @@ on: env: app_name: ${{ inputs.env == 'production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} - app_id: net.prominic.${{ inputs.env == 'production' && 'genesis.superhumaninstaller' || 'net.prominic.genesis.superhumaninstallerdev' }} + app_id: net.prominic.genesis.${{ inputs.env == 'production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'production' && '-final' || '-debug' }} From 3dc87b7b9c1b33fc449c597a8b92c6f768dd280c Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 15:07:43 +0100 Subject: [PATCH 03/63] Full Linux build (References: #109) --- .github/workflows/sub-build-linux.yml | 94 +++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index d0fc8a0d..ebbfe2ef 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -8,8 +8,8 @@ on: required: true type: choice options: - - development - - production + - Development + - Production version: description: "A Version" required: true @@ -37,10 +37,10 @@ on: default: false env: - app_name: ${{ inputs.env == 'production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} - app_id: net.prominic.genesis.${{ inputs.env == 'production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} + app_name: ${{ inputs.env == 'Production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} + app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} - haxe_flag: ${{ inputs.env == 'production' && '-final' || '-debug' }} + haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} jobs: build: @@ -54,4 +54,86 @@ jobs: echo "Version: ${{ env.full_version }}" echo "App Name: ${{ env.app_name }}" echo "App ID: ${{ env.app_id }}" - echo "Haxe Env Flag: ${{ env.haxe_flag }}" \ No newline at end of file + echo "Haxe Env Flag: ${{ env.haxe_flag }}" + + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Override project.xml title + uses: Moonshine-IDE/xml-replace-action@v1.0 + with: + filepath: "project.xml" + xpath: "/project/meta/@title" + replace: "${{ env.app_name }}" + + - name: Override project.xml package + uses: Moonshine-IDE/xml-replace-action@v1.0 + with: + filepath: "project.xml" + xpath: "/project/meta/@package" + replace: "${{ env.app_id }}" + + - name: Override project.xml version + uses: Moonshine-IDE/xml-replace-action@v1.0 + with: + filepath: "project.xml" + xpath: "/project/meta/@version" + replace: "${{ env.full_version }}" + + - name: Override project.xml file + uses: Moonshine-IDE/xml-replace-action@v1.0 + with: + filepath: "NativeHaxeMaster/project.xml" + xpath: "/project/app/@file" + replace: "${{ env.app_name }}" + + - name: Set up Haxe + uses: krdlab/setup-haxe@v1 + with: + haxe-version: 4.2.5 + + - name: Show haxe info + run: | + echo "Haxe version:" + haxe -version + echo "Haxe lib path:" + haxelib config + + - name: Update haxelib + run: haxelib --global update haxelib + + - name: Cache Binaries + id: cache-bin + if: ${{ inputs.caching }} + uses: actions/cache@v3 + with: + path: Export/Development/linux/bin/ + key: ${{ env.app_name }}-linux-bin + + - name: Install dependencies + run: | + haxelib install hxcpp + haxelib git openfl https://github.com/openfl/openfl.git develop + haxelib run openfl setup + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git + + - name: Build + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + run: > + haxelib run lime build project.xml linux + ${{ env.haxe_flag }} + -Dlogverbose + -Dlogcolor + -Dgitsha=${{ github.sha }} + -Dgitbranch=${{ github.ref_name }} + + - name: Show Build + working-directory: NativeHaxeMaster + run: tree Export/Development/linux/bin/ + + - name: Upload bin + uses: actions/upload-artifact@v3 + with: + name: ${{ env.app_name }}-linux-bin + path: Export/${{ inputs.env }}/linux/bin/ \ No newline at end of file From ca0cb7e2f702939a6ed2b7d648ba92596bfb0171 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 15:09:59 +0100 Subject: [PATCH 04/63] Fix indent (References: #109) --- .github/workflows/sub-build-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index ebbfe2ef..99d3defe 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -56,8 +56,8 @@ jobs: echo "App ID: ${{ env.app_id }}" echo "Haxe Env Flag: ${{ env.haxe_flag }}" - - name: Checkout repo - uses: actions/checkout@v3 + - name: Checkout repo + uses: actions/checkout@v3 - name: Override project.xml title uses: Moonshine-IDE/xml-replace-action@v1.0 From 959ef11172176c4b6a77eae5d5bb85fc5aff36c4 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 15:19:55 +0100 Subject: [PATCH 05/63] Adjust for different project.xml (References: #109) --- .github/workflows/sub-build-linux.yml | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 99d3defe..9d043445 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -58,20 +58,6 @@ jobs: - name: Checkout repo uses: actions/checkout@v3 - - - name: Override project.xml title - uses: Moonshine-IDE/xml-replace-action@v1.0 - with: - filepath: "project.xml" - xpath: "/project/meta/@title" - replace: "${{ env.app_name }}" - - - name: Override project.xml package - uses: Moonshine-IDE/xml-replace-action@v1.0 - with: - filepath: "project.xml" - xpath: "/project/meta/@package" - replace: "${{ env.app_id }}" - name: Override project.xml version uses: Moonshine-IDE/xml-replace-action@v1.0 @@ -80,17 +66,10 @@ jobs: xpath: "/project/meta/@version" replace: "${{ env.full_version }}" - - name: Override project.xml file - uses: Moonshine-IDE/xml-replace-action@v1.0 - with: - filepath: "NativeHaxeMaster/project.xml" - xpath: "/project/app/@file" - replace: "${{ env.app_name }}" - - name: Set up Haxe uses: krdlab/setup-haxe@v1 with: - haxe-version: 4.2.5 + haxe-version: 4.3.3 - name: Show haxe info run: | From b0e17db6a16dc585e4c48531dd0a1ed211735162 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 15:28:01 +0100 Subject: [PATCH 06/63] Update haxe action (References: #109) --- .github/workflows/sub-build-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 9d043445..c245f021 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -67,7 +67,7 @@ jobs: replace: "${{ env.full_version }}" - name: Set up Haxe - uses: krdlab/setup-haxe@v1 + uses: krdlab/setup-haxe@v1.5.1 with: haxe-version: 4.3.3 From 49aeff3a2db96be1da963dd3f34c09fb19edf122 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 15:32:11 +0100 Subject: [PATCH 07/63] Try different build command (References: #109) --- .github/workflows/sub-build-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index c245f021..d1639b96 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -100,7 +100,7 @@ jobs: - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} run: > - haxelib run lime build project.xml linux + haxelib run openfl build project.xml linux ${{ env.haxe_flag }} -Dlogverbose -Dlogcolor From d3e87a1fc6133ace750ab924495b7d0d358d4d41 Mon Sep 17 00:00:00 2001 From: Piotr Zarzycki Date: Thu, 1 Feb 2024 15:21:22 +0100 Subject: [PATCH 08/63] Update development to 0.8.22 (reference #108) --- project.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project.xml b/project.xml index ba11179b..a709b153 100644 --- a/project.xml +++ b/project.xml @@ -5,7 +5,7 @@ - + From 76de21d121303787b0c16438aef1b36e8b00a8bb Mon Sep 17 00:00:00 2001 From: Piotr Zarzycki Date: Fri, 2 Feb 2024 10:15:45 +0100 Subject: [PATCH 09/63] Update hashes for NomadWeb 1.0.9 and 1.0.10 --- Source/superhuman/config/SuperHumanHashes.hx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/superhuman/config/SuperHumanHashes.hx b/Source/superhuman/config/SuperHumanHashes.hx index ec362449..7f9ffa40 100644 --- a/Source/superhuman/config/SuperHumanHashes.hx +++ b/Source/superhuman/config/SuperHumanHashes.hx @@ -13,7 +13,9 @@ class SuperHumanHashes "leap" => [ "installers" => [ { hash: "080235c0f0cce7cc3446e01ffccf0046", version: { majorVersion: "1", minorVersion: "0", patch: "5", fullVersion: "1.0.5" } } ]], "nomadweb" => [ "installers" => [ { hash: "044c7a71598f41cd3ddb88c5b4c9b403" }, { hash: "8f3e42f4f5105467c99cfd56b8b4a755", version: { majorVersion: "1", minorVersion: "0", patch: "6", fullVersion: "1.0.6"} }, - { hash: "fe2dd37e6d05ea832d8ecc4f0e1dbe80", version: { majorVersion: "1", minorVersion: "0", patch: "8", fullVersion: "1.0.8"} }]], + { hash: "fe2dd37e6d05ea832d8ecc4f0e1dbe80", version: { majorVersion: "1", minorVersion: "0", patch: "8", fullVersion: "1.0.8"} }, + { hash: "378880b838aeeb4db513ebf05a8a7285", version: { majorVersion: "1", minorVersion: "0", patch: "9", fullVersion: "1.0.9"} }, + { hash: "697d89eb78fa6c1512e0ee199fa0c97c", version: { majorVersion: "1", minorVersion: "0", patch: "10", fullVersion: "1.0.10"}}]], "traveler" => [ "installers" => [ { hash: "4a195e3282536de175a2979def40527d" }, { hash: "4118ee30d590289070f2d29ecf1b34cb", version: { majorVersion: "12", minorVersion: "0", patch: "2", fullVersion: "12.0.2" }}, { hash: "216807509d96f65c7a76b878fc4c4bd5", version: { majorVersion: "12", minorVersion: "0", patch: "2", fixPackVersion: "FP1", fullVersion: "12.0.2"} } ]], From 0feca7a5a361a9abf4c29ec4e54d23859e0a573b Mon Sep 17 00:00:00 2001 From: Piotr Zarzycki Date: Fri, 2 Feb 2024 12:32:17 +0100 Subject: [PATCH 10/63] Update some libs (reference #105) --- .github/workflows/macos-dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos-dev.yml b/.github/workflows/macos-dev.yml index 0af90973..c36c7791 100644 --- a/.github/workflows/macos-dev.yml +++ b/.github/workflows/macos-dev.yml @@ -28,7 +28,7 @@ jobs: - name: Set up Haxe uses: krdlab/setup-haxe@v1.5.1 with: - haxe-version: 4.3.1 + haxe-version: 4.3.3 - name: Install dependencies run: | @@ -40,7 +40,7 @@ jobs: haxelib git lime-samples https://github.com/openfl/lime-samples haxelib git openfl https://github.com/openfl/openfl.git develop haxelib run openfl setup - haxelib install feathersui + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - name: Build project From 942c651f06d06bbf911bfe6f026647cdc6ca6507 Mon Sep 17 00:00:00 2001 From: Piotr Zarzycki Date: Fri, 2 Feb 2024 13:00:04 +0100 Subject: [PATCH 11/63] Try to fix DefaultPopUpManager (reference #105) --- .../feathers/core/DefaultPopUpManager.hx | 673 +++++++++--------- 1 file changed, 344 insertions(+), 329 deletions(-) diff --git a/Genesis/Source/feathers/core/DefaultPopUpManager.hx b/Genesis/Source/feathers/core/DefaultPopUpManager.hx index d03e1c83..a8d95734 100644 --- a/Genesis/Source/feathers/core/DefaultPopUpManager.hx +++ b/Genesis/Source/feathers/core/DefaultPopUpManager.hx @@ -1,336 +1,351 @@ /* Feathers UI - Copyright 2022 Bowler Hat LLC. All Rights Reserved. + Copyright 2023 Bowler Hat LLC. All Rights Reserved. This program is free software. You can redistribute and/or modify it in accordance with the terms of the accompanying license agreement. */ - package feathers.core; - - import openfl.display.DisplayObject; - import openfl.display.DisplayObjectContainer; - import openfl.display.Sprite; - import openfl.display.Stage; - import openfl.errors.ArgumentError; - import openfl.events.Event; - import openfl.geom.Point; - - /** - The default implementation of the `IPopUpManager` interface. - - @see `feathers.core.PopUpManager` - - @since 1.0.0 - **/ - class DefaultPopUpManager implements IPopUpManager { - private static function defaultOverlayFactory():DisplayObject { - var overlay = new Sprite(); - overlay.graphics.beginFill(0x222222, 0.75); - overlay.graphics.drawRect(0, 0, 1, 1); - overlay.graphics.endFill(); - return overlay; - } - - /** - Creates a new `DefaultPopUpManager` object with the given arguments. - - @since 1.0.0 - **/ - public function new(root:DisplayObjectContainer) { - this.root = root; - } - - private var _ignoreRemoval = false; - - private var _root:DisplayObjectContainer; - - /** - @see `feathers.core.IPopUpManager.root` - **/ - public var root(get, set):DisplayObjectContainer; - - private function get_root():DisplayObjectContainer { - return this._root; - } - - private function set_root(value:DisplayObjectContainer):DisplayObjectContainer { - if (this._root == value) { - return this._root; - } - if (value.stage == null) { - throw new ArgumentError("DefaultPopUpManager root's stage property must not be null."); - } - var oldIgnoreRemoval = this._ignoreRemoval; - this._ignoreRemoval = true; - for (popUp in this.popUps) { - this._root.removeChild(popUp); - var overlay = this._popUpToOverlay.get(popUp); - if (overlay != null) { - this._root.removeChild(overlay); - } - } - this._ignoreRemoval = oldIgnoreRemoval; - this._root = value; - for (popUp in this.popUps) { - var overlay = this._popUpToOverlay.get(popUp); - if (overlay != null) { - this._root.addChild(overlay); - } - this._root.addChild(popUp); - } - return this._root; - } - - private var popUps:Array = []; - - private var _centeredPopUps:Array = []; - - private var _popUpToOverlay:Map = []; - - private var _overlayFactory:() -> DisplayObject; - - /** - @see `feathers.core.IPopUpManager.overlayFactory` - **/ - public var overlayFactory(get, set):() -> DisplayObject; - - private function get_overlayFactory():() -> DisplayObject { - return this._overlayFactory; - } - - private function set_overlayFactory(value:() -> DisplayObject):() -> DisplayObject { - if (Reflect.compareMethods(this._overlayFactory, value)) { - return this._overlayFactory; - } - this._overlayFactory = value; - return this._overlayFactory; - } - - /** - @see `feathers.core.IPopUpManager.popUpCount` - **/ - public var popUpCount(get, never):Int; - - private function get_popUpCount():Int { - return this.popUps.length; - } - - /** - @see `feathers.core.IPopUpManager.topLevelPopUpCount` - **/ - public var topLevelPopUpCount(get, never):Int; - - private function get_topLevelPopUpCount():Int { - var count = 0; - var i = this.popUps.length - 1; - while (i >= 0) { - count++; - var popUp = this.popUps[i]; - var overlay = this._popUpToOverlay.get(popUp); - if (overlay != null) { - return count; - } - i--; - } - return count; - } - - /** - @see `feathers.core.IPopUpManager.getPopUpAt()` - **/ - public function getPopUpAt(index:Int):DisplayObject { - return this.popUps[index]; - } - - /** - @see `feathers.core.IPopUpManager.isPopUp` - **/ - public function isPopUp(target:DisplayObject):Bool { - return this.popUps.indexOf(target) != -1; - } - - /** - @see `feathers.core.IPopUpManager.isTopLevelPopUp` - **/ - public function isTopLevelPopUp(target:DisplayObject):Bool { - var i = this.popUps.length - 1; - while (i >= 0) { - var otherPopUp = this.popUps[i]; - if (otherPopUp == target) { - // we haven't encountered an overlay yet, so it is top-level - return true; - } - var overlay = this._popUpToOverlay.get(otherPopUp); - if (overlay != null) { - // this is the first overlay, and we haven't found the pop-up - // yet, so it is not top-level - return false; - } - i--; - } - return false; - } - - /** - @see `feathers.core.IPopUpManager.isModal` - **/ - public function isModal(target:DisplayObject):Bool { - if (target == null) { - return false; - } - return this._popUpToOverlay.get(target) != null; - } - - /** - @see `feathers.core.IPopUpManager.hasModalPopUps` - **/ - public function hasModalPopUps():Bool { - return this._popUpToOverlay.keyValueIterator().hasNext(); - } - - /** - @see `feathers.core.IPopUpManager.addPopUp` - **/ - public function addPopUp(popUp:DisplayObject, isModal:Bool = true, isCentered:Bool = true, ?customOverlayFactory:() -> DisplayObject):DisplayObject { - var index = this.popUps.indexOf(popUp); - if (index != -1) { - this.cleanupOverlay(popUp); - this.popUps.splice(index, 1); - } - if (isModal) { - if (customOverlayFactory == null) { - customOverlayFactory = this._overlayFactory; - } - if (customOverlayFactory == null) { - customOverlayFactory = DefaultPopUpManager.defaultOverlayFactory; - } - var overlay = customOverlayFactory(); - var stage = this._root.stage; - var stageTopLeft = this._root.globalToLocal(new Point()); - var stageBottomRight = this._root.globalToLocal(new Point(stage.stageWidth, stage.stageHeight)); - overlay.x = stageTopLeft.x; - overlay.y = stageTopLeft.y; - overlay.width = stageBottomRight.x - stageTopLeft.x; - overlay.height = stageBottomRight.y - stageTopLeft.y; - this._root.addChild(overlay); - this._popUpToOverlay.set(popUp, overlay); - } - - this.popUps.push(popUp); - - var result = this._root.addChild(popUp); - if (popUp.parent == null) { - this.cleanupOverlay(popUp); - this.popUps.remove(popUp); - return null; - } - - // this listener needs to be added after the pop-up is added to the - // root because the pop-up may not have been removed from its old - // parent yet, which will trigger the listener if it is added first. - popUp.addEventListener(Event.REMOVED_FROM_STAGE, defaultPopUpManager_popUp_removedFromStageHandler); - if (this.popUps.length == 1) { - this._root.stage.addEventListener(Event.RESIZE, defaultPopUpManager_stage_resizeHandler, false, 0, true); - } - if (isCentered) { - if ((popUp is IMeasureObject)) { - var measurePopUp = cast(popUp, IMeasureObject); - measurePopUp.addEventListener(Event.RESIZE, defaultPopUpManager_popUp_resizeHandler); - } - this._centeredPopUps.push(popUp); - this.centerPopUp(popUp); - } - return result; - } - - /** - @see `feathers.core.IPopUpManager.removePopUp` - **/ - public function removePopUp(popUp:DisplayObject):DisplayObject { - var index = this.popUps.indexOf(popUp); - if (index == -1) { - return popUp; - } - return this._root.removeChild(popUp); - } - - /** - @see `feathers.core.IPopUpManager.removePopUp` - **/ - public function removeAllPopUps():Void { - // removing pop-ups may call event listeners that add new pop-ups, - // and we don't want to remove the new ones or miss old ones, so - // create a copy of the popUps array to be safe. - var popUps = this.popUps.copy(); - for (popUp in popUps) { - // we check if this is still a pop-up because it might have been - // removed in an Event.REMOVED or Event.REMOVED_FROM_STAGE - // listener for another pop-up earlier in the loop - if (this.isPopUp(popUp)) { - this.removePopUp(popUp); - } - } - } - - /** - @see `feathers.core.IPopUpManager.centerPopUp` - **/ - public function centerPopUp(popUp:DisplayObject):Void { - if ((popUp is IValidating)) { - cast(popUp, IValidating).validateNow(); - } - var stage = this._root.stage; - var stageTopLeft = this._root.globalToLocal(new Point()); - var stageBottomRight = this._root.globalToLocal(new Point(stage.stageWidth, stage.stageHeight)); - popUp.x = stageTopLeft.x + (stageBottomRight.x - stageTopLeft.x - popUp.width) / 2.0; - popUp.y = stageTopLeft.y + (stageBottomRight.y - stageTopLeft.y - popUp.height) / 2.0; - } - - private function cleanupOverlay(popUp:DisplayObject):Void { - var overlay = this._popUpToOverlay.get(popUp); - if (overlay == null) { - return; - } - this._root.removeChild(overlay); - this._popUpToOverlay.remove(popUp); - } - - private function defaultPopUpManager_popUp_removedFromStageHandler(event:Event):Void { - if (this._ignoreRemoval) { - return; - } - var popUp = cast(event.currentTarget, DisplayObject); - popUp.removeEventListener(Event.REMOVED_FROM_STAGE, defaultPopUpManager_popUp_removedFromStageHandler); - this.popUps.remove(popUp); - this.cleanupOverlay(popUp); - - if (this.popUps.length == 0) { - this._root.stage.removeEventListener(Event.RESIZE, defaultPopUpManager_stage_resizeHandler); - } - } - - private function defaultPopUpManager_popUp_resizeHandler(event:Event):Void { - var popUp = cast(event.currentTarget, DisplayObject); - this.centerPopUp(popUp); - } - - private function defaultPopUpManager_stage_resizeHandler(event:Event):Void { - var stage = cast(event.currentTarget, Stage); - var stageTopLeft = this._root.globalToLocal(new Point()); - var stageBottomRight = this._root.globalToLocal(new Point(stage.stageWidth, stage.stageHeight)); - for (popUp in popUps) { - var overlay = this._popUpToOverlay.get(popUp); - if (overlay != null) { - overlay.x = stageTopLeft.x; - overlay.y = stageTopLeft.y; - overlay.width = stageBottomRight.x - stageTopLeft.x; - overlay.height = stageBottomRight.y - stageTopLeft.y; - } - } - for (popUp in this._centeredPopUps) { - this.centerPopUp(popUp); - } - } - } - \ No newline at end of file +package feathers.core; + +import openfl.display.DisplayObject; +import openfl.display.DisplayObjectContainer; +import openfl.display.Sprite; +import openfl.display.Stage; +import openfl.errors.ArgumentError; +import openfl.errors.Error; +import openfl.events.Event; +import openfl.geom.Point; + +/** + The default implementation of the `IPopUpManager` interface. + + @see `feathers.core.PopUpManager` + + @since 1.0.0 +**/ +class DefaultPopUpManager implements IPopUpManager { + private static function defaultOverlayFactory():DisplayObject { + var overlay = new Sprite(); + overlay.graphics.beginFill(0x808080, 0.75); + overlay.graphics.drawRect(0, 0, 1, 1); + overlay.graphics.endFill(); + return overlay; + } + + /** + Creates a new `DefaultPopUpManager` object with the given arguments. + + @since 1.0.0 + **/ + public function new(root:DisplayObjectContainer) { + this.root = root; + } + + private var _ignoreRemoval = false; + + private var _root:DisplayObjectContainer; + + /** + @see `feathers.core.IPopUpManager.root` + **/ + public var root(get, set):DisplayObjectContainer; + + private function get_root():DisplayObjectContainer { + return this._root; + } + + private function set_root(value:DisplayObjectContainer):DisplayObjectContainer { + if (this._root == value) { + return this._root; + } + if (value.stage == null) { + throw new ArgumentError("DefaultPopUpManager root's stage property must not be null."); + } + var oldIgnoreRemoval = this._ignoreRemoval; + this._ignoreRemoval = true; + for (popUp in this.popUps) { + this._root.removeChild(popUp); + var overlay = this._popUpToOverlay.get(popUp); + if (overlay != null) { + this._root.removeChild(overlay); + } + } + this._ignoreRemoval = oldIgnoreRemoval; + this._root = value; + for (popUp in this.popUps) { + var overlay = this._popUpToOverlay.get(popUp); + if (overlay != null) { + this._root.addChild(overlay); + } + this._root.addChild(popUp); + } + return this._root; + } + + private var popUps:Array = []; + + private var _centeredPopUps:Array = []; + + private var _popUpToOverlay:Map = []; + + private var _overlayFactory:() -> DisplayObject; + + /** + @see `feathers.core.IPopUpManager.overlayFactory` + **/ + public var overlayFactory(get, set):() -> DisplayObject; + + private function get_overlayFactory():() -> DisplayObject { + return this._overlayFactory; + } + + private function set_overlayFactory(value:() -> DisplayObject):() -> DisplayObject { + if (Reflect.compareMethods(this._overlayFactory, value)) { + return this._overlayFactory; + } + this._overlayFactory = value; + return this._overlayFactory; + } + + /** + @see `feathers.core.IPopUpManager.popUpCount` + **/ + public var popUpCount(get, never):Int; + + private function get_popUpCount():Int { + return this.popUps.length; + } + + /** + @see `feathers.core.IPopUpManager.topLevelPopUpCount` + **/ + public var topLevelPopUpCount(get, never):Int; + + private function get_topLevelPopUpCount():Int { + var count = 0; + var i = this.popUps.length - 1; + while (i >= 0) { + count++; + var popUp = this.popUps[i]; + var overlay = this._popUpToOverlay.get(popUp); + if (overlay != null) { + return count; + } + i--; + } + return count; + } + + /** + @see `feathers.core.IPopUpManager.getPopUpAt()` + **/ + public function getPopUpAt(index:Int):DisplayObject { + return this.popUps[index]; + } + + /** + @see `feathers.core.IPopUpManager.isPopUp` + **/ + public function isPopUp(target:DisplayObject):Bool { + return this.popUps.indexOf(target) != -1; + } + + /** + @see `feathers.core.IPopUpManager.isTopLevelPopUp` + **/ + public function isTopLevelPopUp(target:DisplayObject):Bool { + var i = this.popUps.length - 1; + while (i >= 0) { + var otherPopUp = this.popUps[i]; + if (otherPopUp == target) { + // we haven't encountered an overlay yet, so it is top-level + return true; + } + var overlay = this._popUpToOverlay.get(otherPopUp); + if (overlay != null) { + // this is the first overlay, and we haven't found the pop-up + // yet, so it is not top-level + return false; + } + i--; + } + return false; + } + + /** + @see `feathers.core.IPopUpManager.isModal` + **/ + public function isModal(target:DisplayObject):Bool { + if (target == null) { + return false; + } + return this._popUpToOverlay.get(target) != null; + } + + /** + @see `feathers.core.IPopUpManager.hasModalPopUps` + **/ + public function hasModalPopUps():Bool { + return this._popUpToOverlay.keyValueIterator().hasNext(); + } + + /** + @see `feathers.core.IPopUpManager.addPopUp` + **/ + public function addPopUp(popUp:DisplayObject, isModal:Bool = true, isCentered:Bool = true, ?customOverlayFactory:() -> DisplayObject):DisplayObject { + var index = this.popUps.indexOf(popUp); + if (index != -1) { + this.cleanupOverlay(popUp); + this.popUps.splice(index, 1); + } + if (isModal) { + if (customOverlayFactory == null) { + customOverlayFactory = this._overlayFactory; + } + if (customOverlayFactory == null) { + customOverlayFactory = DefaultPopUpManager.defaultOverlayFactory; + } + var overlay = customOverlayFactory(); + var stage = this._root.stage; + var stageTopLeft = this._root.globalToLocal(new Point()); + var stageBottomRight = this._root.globalToLocal(new Point(stage.stageWidth, stage.stageHeight)); + overlay.x = stageTopLeft.x; + overlay.y = stageTopLeft.y; + overlay.width = stageBottomRight.x - stageTopLeft.x; + overlay.height = stageBottomRight.y - stageTopLeft.y; + this._root.addChild(overlay); + this._popUpToOverlay.set(popUp, overlay); + } + + this.popUps.push(popUp); + + var result = this._root.addChild(popUp); + if (popUp.parent == null) { + this.cleanupOverlay(popUp); + this.popUps.remove(popUp); + return null; + } + + // this listener needs to be added after the pop-up is added to the + // root because the pop-up may not have been removed from its old + // parent yet, which will trigger the listener if it is added first. + popUp.addEventListener(Event.REMOVED_FROM_STAGE, defaultPopUpManager_popUp_removedFromStageHandler); + if (this.popUps.length == 1) { + this._root.stage.addEventListener(Event.RESIZE, defaultPopUpManager_stage_resizeHandler, false, 0, true); + } + if (isCentered) { + if ((popUp is IMeasureObject)) { + var measurePopUp:IMeasureObject = cast popUp; + measurePopUp.addEventListener(Event.RESIZE, defaultPopUpManager_popUp_resizeHandler); + } + this._centeredPopUps.push(popUp); + this.centerPopUp(popUp); + } + return result; + } + + /** + @see `feathers.core.IPopUpManager.removePopUp` + **/ + public function removePopUp(popUp:DisplayObject):DisplayObject { + var index = this.popUps.indexOf(popUp); + if (index == -1) { + return popUp; + } + return this._root.removeChild(popUp); + } + + /** + @see `feathers.core.IPopUpManager.removePopUp` + **/ + public function removeAllPopUps():Void { + // removing pop-ups may call event listeners that add new pop-ups, + // and we don't want to remove the new ones or miss old ones, so + // create a copy of the popUps array to be safe. + var popUps = this.popUps.copy(); + for (popUp in popUps) { + // we check if this is still a pop-up because it might have been + // removed in an Event.REMOVED or Event.REMOVED_FROM_STAGE + // listener for another pop-up earlier in the loop + if (this.isPopUp(popUp)) { + this.removePopUp(popUp); + } + } + } + + /** + @see `feathers.core.IPopUpManager.centerPopUp` + **/ + public function centerPopUp(popUp:DisplayObject):Void { + if ((popUp is IValidating)) { + (cast popUp : IValidating).validateNow(); + } + var stage = this._root.stage; + var stageTopLeft = this._root.globalToLocal(new Point()); + var stageBottomRight = this._root.globalToLocal(new Point(stage.stageWidth, stage.stageHeight)); + popUp.x = stageTopLeft.x + (stageBottomRight.x - stageTopLeft.x - popUp.width) / 2.0; + popUp.y = stageTopLeft.y + (stageBottomRight.y - stageTopLeft.y - popUp.height) / 2.0; + } + + /** + @see `feathers.core.IPopUpManager.bringToFront` + **/ + public function bringToFront(popUp:DisplayObject):Void { + if (!this.popUps.remove(popUp)) { + throw new Error("Not a popup"); + } + this.popUps.push(popUp); + var overlay = this._popUpToOverlay.get(popUp); + if (overlay != null) { + this._root.setChildIndex(overlay, this._root.numChildren - 1); + } + this._root.setChildIndex(popUp, this._root.numChildren - 1); + } + + private function cleanupOverlay(popUp:DisplayObject):Void { + var overlay = this._popUpToOverlay.get(popUp); + if (overlay == null) { + return; + } + this._root.removeChild(overlay); + this._popUpToOverlay.remove(popUp); + } + + private function defaultPopUpManager_popUp_removedFromStageHandler(event:Event):Void { + if (this._ignoreRemoval) { + return; + } + var popUp = cast(event.currentTarget, DisplayObject); + popUp.removeEventListener(Event.REMOVED_FROM_STAGE, defaultPopUpManager_popUp_removedFromStageHandler); + this.popUps.remove(popUp); + this.cleanupOverlay(popUp); + + if (this.popUps.length == 0) { + this._root.stage.removeEventListener(Event.RESIZE, defaultPopUpManager_stage_resizeHandler); + } + } + + private function defaultPopUpManager_popUp_resizeHandler(event:Event):Void { + var popUp = cast(event.currentTarget, DisplayObject); + this.centerPopUp(popUp); + } + + private function defaultPopUpManager_stage_resizeHandler(event:Event):Void { + var stage = cast(event.currentTarget, Stage); + var stageTopLeft = this._root.globalToLocal(new Point()); + var stageBottomRight = this._root.globalToLocal(new Point(stage.stageWidth, stage.stageHeight)); + for (popUp in popUps) { + var overlay = this._popUpToOverlay.get(popUp); + if (overlay != null) { + overlay.x = stageTopLeft.x; + overlay.y = stageTopLeft.y; + overlay.width = stageBottomRight.x - stageTopLeft.x; + overlay.height = stageBottomRight.y - stageTopLeft.y; + } + } + for (popUp in this._centeredPopUps) { + this.centerPopUp(popUp); + } + } +} \ No newline at end of file From e4f035eec60bfc3233c61fa551cdf21c9a692065 Mon Sep 17 00:00:00 2001 From: Piotr Zarzycki Date: Fri, 2 Feb 2024 14:37:42 +0100 Subject: [PATCH 12/63] Make sure console is not null (reference #105) --- Source/superhuman/server/Server.hx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/superhuman/server/Server.hx b/Source/superhuman/server/Server.hx index 1a04681a..cc126855 100644 --- a/Source/superhuman/server/Server.hx +++ b/Source/superhuman/server/Server.hx @@ -647,8 +647,10 @@ class Server { function _batchCopyComplete() { Logger.debug( '${this}: Setting working directory to ${_serverDir}' ); - console.appendText( LanguageManager.getInstance().getString( 'serverpage.server.console.setworkingdirectory', _serverDir ) ); - + if (console != null) { + console.appendText( LanguageManager.getInstance().getString( 'serverpage.server.console.setworkingdirectory', _serverDir ) ); + } + _saveSafeId(); if ( !_provisioner.hostFileExists ) _provisioner.saveHostsFile(); @@ -659,7 +661,6 @@ class Server { } _startVagrantUp(); - } function _saveSafeId() { From 85ed08b35e5af90ed05de0fb2132e5175d742f5a Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 16:05:23 +0100 Subject: [PATCH 13/63] Use lfs (References: #109) --- .github/workflows/sub-build-linux.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index d1639b96..1863ee67 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -58,6 +58,11 @@ jobs: - name: Checkout repo uses: actions/checkout@v3 + with: + lfs: true + + - name: Checkout LFS objects + run: git lfs checkout - name: Override project.xml version uses: Moonshine-IDE/xml-replace-action@v1.0 From 218778840079e6ccffac73e54848999e28abd667 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 16:09:55 +0100 Subject: [PATCH 14/63] Fix working dir (References: #109) --- .github/workflows/sub-build-linux.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 1863ee67..579e6f6e 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -113,7 +113,6 @@ jobs: -Dgitbranch=${{ github.ref_name }} - name: Show Build - working-directory: NativeHaxeMaster run: tree Export/Development/linux/bin/ - name: Upload bin From 1018f142c558bcb91c09d6d22ed9c11e507ce570 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 16:46:57 +0100 Subject: [PATCH 15/63] Update actions (References: #109) --- .github/workflows/sub-build-linux.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 579e6f6e..ffdc4213 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -57,7 +57,7 @@ jobs: echo "Haxe Env Flag: ${{ env.haxe_flag }}" - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: lfs: true @@ -65,7 +65,7 @@ jobs: run: git lfs checkout - name: Override project.xml version - uses: Moonshine-IDE/xml-replace-action@v1.0 + uses: Moonshine-IDE/xml-replace-action@v2.0 with: filepath: "project.xml" xpath: "/project/meta/@version" @@ -89,7 +89,7 @@ jobs: - name: Cache Binaries id: cache-bin if: ${{ inputs.caching }} - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: Export/Development/linux/bin/ key: ${{ env.app_name }}-linux-bin @@ -116,7 +116,7 @@ jobs: run: tree Export/Development/linux/bin/ - name: Upload bin - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.app_name }}-linux-bin path: Export/${{ inputs.env }}/linux/bin/ \ No newline at end of file From d617831ca13d69454b46eb189215f23ac8c1abc5 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 18:24:06 +0100 Subject: [PATCH 16/63] Use dependency script (References: #109) --- .github/workflows/sub-build-linux.yml | 14 +++---- Build/InstallDependencies.hx | 57 +++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 Build/InstallDependencies.hx diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index ffdc4213..e548fad0 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -41,6 +41,7 @@ env: app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} + haxe_version: 4.3.3 jobs: build: @@ -74,7 +75,7 @@ jobs: - name: Set up Haxe uses: krdlab/setup-haxe@v1.5.1 with: - haxe-version: 4.3.3 + haxe-version: ${{ env.haxe_version }} - name: Show haxe info run: | @@ -95,12 +96,11 @@ jobs: key: ${{ env.app_name }}-linux-bin - name: Install dependencies - run: | - haxelib install hxcpp - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git + run: > + haxe + --run Build/InstallDependencies.hx + --target=linux + --haxelibpath=/opt/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx new file mode 100644 index 00000000..da91f97a --- /dev/null +++ b/Build/InstallDependencies.hx @@ -0,0 +1,57 @@ +package build; + +// Usage: +// $: haxe --run build/InstallDependencies.hx --target=windows --haxelibpath=C:/MoonshineSDKs/Haxe/lib + +class InstallDependencies { + public static function main() { + var namedArgs = parseNamedArguments(Sys.args()); + + trace('Installing dependencies...'); + trace('target: ${namedArgs["target"]}'); + trace('haxelibpath: ${namedArgs["haxelibpath"]}'); + installDependencies(namedArgs['target'], namedArgs['haxelibpath']); + } + + static function parseNamedArguments(args:Array):Map { + var result = new Map(); + + for (arg in args) { + if (StringTools.startsWith(arg, "--")) { + var parts = arg.split('='); + var key = parts[0].substr(2); // Remove the "--" prefix + var value = parts.length > 1 ? parts[1] : ""; + result.set(key, value); + } + } + + return result; + } + + public static function installDependencies(target:String, haxelibPath:String) { + Sys.command('haxelib --global update haxelib --quiet --never'); + + // Install hxcpp + Sys.command('haxelib install hxcpp --quiet --never'); + + // Clone lime + Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); + Sys.command('haxelib dev lime lime'); + + // Install lime dependencies + Sys.command('haxelib install format --quiet'); + Sys.command('haxelib install hxp --quiet'); + Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples --quiet'); + + // Rebuild lime + Sys.command('haxelib run lime rebuild ${target} -release -clean'); + + // Install and setup openfl + Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop --quiet --never'); + Sys.command('haxelib run openfl setup --quiet --never'); + + // Install other dependencies + Sys.command('haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git --quiet --never'); + Sys.command('haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git --quiet --never'); + } +} \ No newline at end of file From 11382123a46a29aa6b0772dbe3fcca5a202225d4 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 18:25:45 +0100 Subject: [PATCH 17/63] Use caching deps (References: #109) --- .github/workflows/sub-build-linux.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index e548fad0..51031d68 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -96,6 +96,7 @@ jobs: key: ${{ env.app_name }}-linux-bin - name: Install dependencies + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} run: > haxe --run Build/InstallDependencies.hx From 9bd57f259e9a0f268806bc1531cfed843e6a702b Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 18:30:53 +0100 Subject: [PATCH 18/63] Fix path (References: #109) --- .github/workflows/sub-build-linux.yml | 3 ++- Build/InstallDependencies.hx | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 51031d68..286f64f8 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -97,9 +97,10 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + working-directory: Build run: > haxe - --run Build/InstallDependencies.hx + --run InstallDependencies.hx --target=linux --haxelibpath=/opt/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx index da91f97a..a1a7681b 100644 --- a/Build/InstallDependencies.hx +++ b/Build/InstallDependencies.hx @@ -1,7 +1,5 @@ -package build; - // Usage: -// $: haxe --run build/InstallDependencies.hx --target=windows --haxelibpath=C:/MoonshineSDKs/Haxe/lib +// $: haxe --run InstallDependencies.hx --target=windows --haxelibpath=C:/MoonshineSDKs/Haxe/lib class InstallDependencies { public static function main() { From 9cdc0debec78e3ae646dfb6c223729abb12e3f68 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 19:00:54 +0100 Subject: [PATCH 19/63] Build on Windows (References: #109) --- .github/workflows/sub-build-windows.yml | 114 +++++++++++++++++++++++- 1 file changed, 112 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 74496603..5468e7e7 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -1,8 +1,47 @@ -name: SUB - Build on Windows +name: SUB - Build on Linux on: workflow_dispatch: + inputs: + env: + description: "An Environment" + required: true + type: choice + options: + - Development + - Production + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + workflow_call: + inputs: + env: + description: "An Environment" + required: true + type: string + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + +env: + app_name: ${{ inputs.env == 'Production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} + app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} + full_version: ${{ inputs.version }}.${{ github.run_number }} + haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} + haxe_version: 4.3.3 jobs: build: @@ -11,4 +50,75 @@ jobs: steps: - name: Build info run: | - echo "Stub flow" \ No newline at end of file + echo "Ref: ${{ github.ref_name }}" + echo "Env: ${{ inputs.env }}" + echo "Version: ${{ env.full_version }}" + echo "App Name: ${{ env.app_name }}" + echo "App ID: ${{ env.app_id }}" + echo "Haxe Env Flag: ${{ env.haxe_flag }}" + + - name: Checkout repo + uses: actions/checkout@v4 + with: + lfs: true + + - name: Checkout LFS objects + run: git lfs checkout + + - name: Override project.xml version + uses: Moonshine-IDE/xml-replace-action@v2.0 + with: + filepath: "project.xml" + xpath: "/project/meta/@version" + replace: "${{ env.full_version }}" + + - name: Set up Haxe + uses: krdlab/setup-haxe@v1.5.1 + with: + haxe-version: ${{ env.haxe_version }} + + - name: Show haxe info + run: | + echo "Haxe version:" + haxe -version + echo "Haxe lib path:" + haxelib config + + - name: Update haxelib + run: haxelib --global update haxelib + + - name: Cache Binaries + id: cache-bin + if: ${{ inputs.caching }} + uses: actions/cache@v4 + with: + path: Export/Development/windows/bin/ + key: ${{ env.app_name }}-windows-bin + + - name: Install dependencies + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + working-directory: Build + run: > + haxe + --run InstallDependencies.hx + --target=windows + --haxelibpath=C:/hostedtoolcache/windows/haxe/${{ env.haxe_version }}/x64/lib + + - name: Build + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + run: > + haxelib run openfl build project.xml windows + ${{ env.haxe_flag }} + -Dlogverbose + -Dlogcolor + -Dgitsha=${{ github.sha }} + -Dgitbranch=${{ github.ref_name }} + + - name: Show Build + run: ls -r bin/windows/bin + + - name: Upload bin + uses: actions/upload-artifact@v4 + with: + name: ${{ env.app_name }}-windows-bin + path: Export/${{ inputs.env }}/windows/bin/ \ No newline at end of file From 298eef583367c62f1bff4744c54b4871f1220bca Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 19:02:27 +0100 Subject: [PATCH 20/63] Fix name (References: #109) --- .github/workflows/sub-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 5468e7e7..f4126b38 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -1,4 +1,4 @@ -name: SUB - Build on Linux +name: SUB - Build on Windows on: workflow_dispatch: From ef910988d94dd256fee04d7ba307995d7d52cf72 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 19:29:12 +0100 Subject: [PATCH 21/63] Disable some deps (References: #109) --- Build/InstallDependencies.hx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx index a1a7681b..c76faef6 100644 --- a/Build/InstallDependencies.hx +++ b/Build/InstallDependencies.hx @@ -33,16 +33,16 @@ class InstallDependencies { Sys.command('haxelib install hxcpp --quiet --never'); // Clone lime - Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); - Sys.command('haxelib dev lime lime'); + // Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); + // Sys.command('haxelib dev lime lime'); // Install lime dependencies - Sys.command('haxelib install format --quiet'); - Sys.command('haxelib install hxp --quiet'); - Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples --quiet'); + // Sys.command('haxelib install format --quiet'); + // Sys.command('haxelib install hxp --quiet'); + // Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples --quiet'); // Rebuild lime - Sys.command('haxelib run lime rebuild ${target} -release -clean'); + // Sys.command('haxelib run lime rebuild ${target} -release -clean'); // Install and setup openfl Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop --quiet --never'); From 2946f31eb1d10aa5acb8e0fb3ef523f8f54a7f8e Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 19:30:06 +0100 Subject: [PATCH 22/63] Fix path (References: #109) --- .github/workflows/sub-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index f4126b38..3cce4473 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -115,7 +115,7 @@ jobs: -Dgitbranch=${{ github.ref_name }} - name: Show Build - run: ls -r bin/windows/bin + run: ls -r Export/${{ inputs.env }}/windows/bin/ - name: Upload bin uses: actions/upload-artifact@v4 From 1adf3494476707da0cffa7151aeea5629c42594c Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Sun, 4 Feb 2024 19:55:10 +0100 Subject: [PATCH 23/63] Try inline dependencies (References: #109) --- .github/workflows/sub-build-linux.yml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 286f64f8..d0c0fc52 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -95,14 +95,24 @@ jobs: path: Export/Development/linux/bin/ key: ${{ env.app_name }}-linux-bin + # - name: Install dependencies + # if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + # working-directory: Build + # run: > + # haxe + # --run InstallDependencies.hx + # --target=linux + # --haxelibpath=/opt/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib + - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} - working-directory: Build - run: > - haxe - --run InstallDependencies.hx - --target=linux - --haxelibpath=/opt/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib + run: | + haxelib --global update haxelib --quiet --never + haxelib install hxcpp --quiet --never + haxelib git openfl https://github.com/openfl/openfl.git develop --quiet --never + haxelib run openfl setup --quiet --never + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git --quiet --never + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git --quiet --never - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} From cd29cc7e0e5c61285c7f72576df42c40c34c110e Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 16:23:23 +0100 Subject: [PATCH 24/63] Add workflow for macos (References: #27) --- .github/workflows/sub-build-macos.yml | 114 +++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index f6d9b306..de7d69d0 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -1,8 +1,47 @@ -name: SUB - Build on MacOS +name: SUB - Build on macOS on: workflow_dispatch: + inputs: + env: + description: "An Environment" + required: true + type: choice + options: + - Development + - Production + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + workflow_call: + inputs: + env: + description: "An Environment" + required: true + type: string + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + +env: + app_name: ${{ inputs.env == 'Production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} + app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} + full_version: ${{ inputs.version }}.${{ github.run_number }} + haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} + haxe_version: 4.3.3 jobs: build: @@ -11,4 +50,75 @@ jobs: steps: - name: Build info run: | - echo "Stub flow" \ No newline at end of file + echo "Ref: ${{ github.ref_name }}" + echo "Env: ${{ inputs.env }}" + echo "Version: ${{ env.full_version }}" + echo "App Name: ${{ env.app_name }}" + echo "App ID: ${{ env.app_id }}" + echo "Haxe Env Flag: ${{ env.haxe_flag }}" + + - name: Checkout repo + uses: actions/checkout@v4 + with: + lfs: true + + - name: Checkout LFS objects + run: git lfs checkout + + - name: Override project.xml version + uses: Moonshine-IDE/xml-replace-action@v2.0 + with: + filepath: "project.xml" + xpath: "/project/meta/@version" + replace: "${{ env.full_version }}" + + - name: Set up Haxe + uses: krdlab/setup-haxe@v1.5.1 + with: + haxe-version: ${{ env.haxe_version }} + + - name: Show haxe info + run: | + echo "Haxe version:" + haxe -version + echo "Haxe lib path:" + haxelib config + + - name: Update haxelib + run: haxelib --global update haxelib + + - name: Cache Binaries + id: cache-bin + if: ${{ inputs.caching }} + uses: actions/cache@v4 + with: + path: Export/Development/macos/bin/ + key: ${{ env.app_name }}-macos-bin + + - name: Install dependencies + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + working-directory: Build + run: > + haxe + --run InstallDependencies.hx + --target=mac + --haxelibpath=/Users/runner/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib + + - name: Build + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + run: > + haxelib run openfl build project.xml mac + ${{ env.haxe_flag }} + -Dlogverbose + -Dlogcolor + -Dgitsha=${{ github.sha }} + -Dgitbranch=${{ github.ref_name }} + + - name: Show Build + run: tree Export/Development/macos/bin/ + + - name: Upload bin + uses: actions/upload-artifact@v4 + with: + name: ${{ env.app_name }}-macos-bin + path: Export/${{ inputs.env }}/macos/bin/ \ No newline at end of file From fbbd48fa0c7465ce40e5e43e48f6523de262de97 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 17:04:22 +0100 Subject: [PATCH 25/63] Update hxcpp and lime to develop (References: #27) --- Build/InstallDependencies.hx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx index c76faef6..ab3ea9aa 100644 --- a/Build/InstallDependencies.hx +++ b/Build/InstallDependencies.hx @@ -30,19 +30,23 @@ class InstallDependencies { Sys.command('haxelib --global update haxelib --quiet --never'); // Install hxcpp - Sys.command('haxelib install hxcpp --quiet --never'); + Sys.command('haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp.git --quiet --never'); + var buildDir = Sys.getCwd(); + Sys.setCwd('${haxelibPath}/hxcpp/git/tools/hxcpp'); + Sys.command('haxe compile.hxml'); + Sys.setCwd(buildDir); // Clone lime - // Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); - // Sys.command('haxelib dev lime lime'); + Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); + Sys.command('haxelib dev lime lime'); // Install lime dependencies - // Sys.command('haxelib install format --quiet'); - // Sys.command('haxelib install hxp --quiet'); - // Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples --quiet'); + Sys.command('haxelib install format --quiet'); + Sys.command('haxelib install hxp --quiet'); + Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples --quiet'); // Rebuild lime - // Sys.command('haxelib run lime rebuild ${target} -release -clean'); + Sys.command('haxelib run lime rebuild ${target} -release -clean'); // Install and setup openfl Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop --quiet --never'); From ef1ec4617156903417c2d153a40fb15b46bbfd2a Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 19:43:10 +0100 Subject: [PATCH 26/63] Try haxe 4.2.5 (References: #27) --- .github/workflows/sub-build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index de7d69d0..299172c0 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -41,7 +41,7 @@ env: app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} - haxe_version: 4.3.3 + haxe_version: 4.2.5 jobs: build: From e47b3f66f1555a8d1fe16f859695e4a08b94a21a Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 20:04:56 +0100 Subject: [PATCH 27/63] Try manual deps (References: #27) --- .github/workflows/sub-build-macos.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 299172c0..1b1255d5 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -41,7 +41,7 @@ env: app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} - haxe_version: 4.2.5 + haxe_version: 4.3.3 jobs: build: @@ -98,11 +98,17 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: > - haxe - --run InstallDependencies.hx - --target=mac - --haxelibpath=/Users/runner/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib + run: | + haxelib install hxcpp + git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime + haxelib dev lime lime + haxelib install format + haxelib install hxp + haxelib git lime-samples https://github.com/openfl/lime-samples + haxelib git openfl https://github.com/openfl/openfl.git develop + haxelib run openfl setup + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} From e705771255d0568279aa033380cc2bec1d6b9e08 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 20:36:23 +0100 Subject: [PATCH 28/63] Try simpler dependency script (References: #109) --- .github/workflows/sub-build-macos.yml | 13 +----- Build/InstallDependencies.hx | 63 ++++----------------------- 2 files changed, 11 insertions(+), 65 deletions(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 1b1255d5..3ad083d7 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -99,16 +99,7 @@ jobs: if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build run: | - haxelib install hxcpp - git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime - haxelib dev lime lime - haxelib install format - haxelib install hxp - haxelib git lime-samples https://github.com/openfl/lime-samples - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git + haxe --run InstallDependencies.hx - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} @@ -121,7 +112,7 @@ jobs: -Dgitbranch=${{ github.ref_name }} - name: Show Build - run: tree Export/Development/macos/bin/ + run: ls -r Export/${{ inputs.env }}/macos/bin/ - name: Upload bin uses: actions/upload-artifact@v4 diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx index ab3ea9aa..1a02f937 100644 --- a/Build/InstallDependencies.hx +++ b/Build/InstallDependencies.hx @@ -1,59 +1,14 @@ -// Usage: -// $: haxe --run InstallDependencies.hx --target=windows --haxelibpath=C:/MoonshineSDKs/Haxe/lib - class InstallDependencies { - public static function main() { - var namedArgs = parseNamedArguments(Sys.args()); - - trace('Installing dependencies...'); - trace('target: ${namedArgs["target"]}'); - trace('haxelibpath: ${namedArgs["haxelibpath"]}'); - installDependencies(namedArgs['target'], namedArgs['haxelibpath']); - } - - static function parseNamedArguments(args:Array):Map { - var result = new Map(); - - for (arg in args) { - if (StringTools.startsWith(arg, "--")) { - var parts = arg.split('='); - var key = parts[0].substr(2); // Remove the "--" prefix - var value = parts.length > 1 ? parts[1] : ""; - result.set(key, value); - } - } - - return result; - } - - public static function installDependencies(target:String, haxelibPath:String) { - Sys.command('haxelib --global update haxelib --quiet --never'); - - // Install hxcpp - Sys.command('haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp.git --quiet --never'); - var buildDir = Sys.getCwd(); - Sys.setCwd('${haxelibPath}/hxcpp/git/tools/hxcpp'); - Sys.command('haxe compile.hxml'); - Sys.setCwd(buildDir); - - // Clone lime + public static function main() { + Sys.command('haxelib install hxcpp'); Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); Sys.command('haxelib dev lime lime'); - - // Install lime dependencies - Sys.command('haxelib install format --quiet'); - Sys.command('haxelib install hxp --quiet'); - Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples --quiet'); - - // Rebuild lime - Sys.command('haxelib run lime rebuild ${target} -release -clean'); - - // Install and setup openfl - Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop --quiet --never'); - Sys.command('haxelib run openfl setup --quiet --never'); - - // Install other dependencies - Sys.command('haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git --quiet --never'); - Sys.command('haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git --quiet --never'); + Sys.command('haxelib install format'); + Sys.command('haxelib install hxp'); + Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples'); + Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop'); + Sys.command('haxelib run openfl setup'); + Sys.command('haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git'); + Sys.command('haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git'); } } \ No newline at end of file From d2a691467861f3ec3dac0ba25d67b4ba5b53ee29 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 20:53:22 +0100 Subject: [PATCH 29/63] Try old haxe again (References: #109) --- .github/workflows/sub-build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 3ad083d7..e26fa3db 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -41,7 +41,7 @@ env: app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} - haxe_version: 4.3.3 + haxe_version: 4.2.5 jobs: build: From ac75845816adda04da57b1ae22c77d5c9e1edea1 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 21:04:02 +0100 Subject: [PATCH 30/63] Disable hxp (References: #109) --- Build/InstallDependencies.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx index 1a02f937..91cddf34 100644 --- a/Build/InstallDependencies.hx +++ b/Build/InstallDependencies.hx @@ -4,7 +4,7 @@ class InstallDependencies { Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); Sys.command('haxelib dev lime lime'); Sys.command('haxelib install format'); - Sys.command('haxelib install hxp'); + // Sys.command('haxelib install hxp'); Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples'); Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop'); Sys.command('haxelib run openfl setup'); From 95971d06464c9392b9149e062133609970d4d8b6 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 21:12:16 +0100 Subject: [PATCH 31/63] Back to hxp (References: #109) --- .github/workflows/sub-build-macos.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index e26fa3db..d0709563 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -99,7 +99,8 @@ jobs: if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build run: | - haxe --run InstallDependencies.hx + haxe --run InstallDependencies.hx + haxelib install hxp - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} From de6d7ccc323e4d4b0599a399f277fa0d126c379e Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 21:18:25 +0100 Subject: [PATCH 32/63] Bump haxe (References: #109) --- .github/workflows/sub-build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index d0709563..6f6deb9b 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -41,7 +41,7 @@ env: app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} - haxe_version: 4.2.5 + haxe_version: 4.3.3 jobs: build: From 4cd8db5485b1f86b43c30b060c589a49aacd98fc Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 21:35:37 +0100 Subject: [PATCH 33/63] Hxp first (References: #109) --- .github/workflows/sub-build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 6f6deb9b..b87a8424 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -99,8 +99,8 @@ jobs: if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build run: | - haxe --run InstallDependencies.hx haxelib install hxp + haxe --run InstallDependencies.hx - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} From ba41ad43eef4077a2dd8b8dab40d0746344e192c Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 21:40:07 +0100 Subject: [PATCH 34/63] Hxp last (References: #109) --- .github/workflows/sub-build-macos.yml | 3 +-- Build/InstallDependencies.hx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index b87a8424..7447255b 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -98,8 +98,7 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: | - haxelib install hxp + run: | haxe --run InstallDependencies.hx - name: Build diff --git a/Build/InstallDependencies.hx b/Build/InstallDependencies.hx index 91cddf34..871e55c8 100644 --- a/Build/InstallDependencies.hx +++ b/Build/InstallDependencies.hx @@ -4,11 +4,11 @@ class InstallDependencies { Sys.command('git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime'); Sys.command('haxelib dev lime lime'); Sys.command('haxelib install format'); - // Sys.command('haxelib install hxp'); Sys.command('haxelib git lime-samples https://github.com/openfl/lime-samples'); Sys.command('haxelib git openfl https://github.com/openfl/openfl.git develop'); Sys.command('haxelib run openfl setup'); Sys.command('haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git'); Sys.command('haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git'); + Sys.command('haxelib install hxp'); } } \ No newline at end of file From abfa004d4862fef8ee162c177471f94f317a9709 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 22:31:17 +0100 Subject: [PATCH 35/63] Back to working haxe script (References: #109) --- .github/workflows/sub-build-linux.yml | 18 ++---------------- .github/workflows/sub-build-macos.yml | 3 +-- .github/workflows/sub-build-windows.yml | 6 +----- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index d0c0fc52..37246b86 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -95,24 +95,10 @@ jobs: path: Export/Development/linux/bin/ key: ${{ env.app_name }}-linux-bin - # - name: Install dependencies - # if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} - # working-directory: Build - # run: > - # haxe - # --run InstallDependencies.hx - # --target=linux - # --haxelibpath=/opt/hostedtoolcache/haxe/${{ env.haxe_version }}/x64/lib - - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} - run: | - haxelib --global update haxelib --quiet --never - haxelib install hxcpp --quiet --never - haxelib git openfl https://github.com/openfl/openfl.git develop --quiet --never - haxelib run openfl setup --quiet --never - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git --quiet --never - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git --quiet --never + working-directory: Build + run: haxe --run InstallDependencies.hx - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 7447255b..79379ef1 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -98,8 +98,7 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: | - haxe --run InstallDependencies.hx + run: haxe --run InstallDependencies.hx - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 3cce4473..70785a82 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -98,11 +98,7 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: > - haxe - --run InstallDependencies.hx - --target=windows - --haxelibpath=C:/hostedtoolcache/windows/haxe/${{ env.haxe_version }}/x64/lib + run: haxe --run InstallDependencies.hx - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} From 7428ff5d9b28e1b9cfe61706cf2294526407236f Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Mon, 5 Feb 2024 22:51:58 +0100 Subject: [PATCH 36/63] Linux system deps (References: #109) --- .github/workflows/sub-build-linux.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 37246b86..04157ba2 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -72,6 +72,17 @@ jobs: xpath: "/project/meta/@version" replace: "${{ env.full_version }}" + - name: Install missing system dependencies + run: | + sudo apt-get update + sudo apt-get install libxinerama-dev + sudo apt-get install libxrandr-dev + sudo apt-get install mesa-common-dev + sudo apt-get install libasound2-dev + sudo apt-get install gcc-multilib + sudo apt-get install g++-multilib + sudo apt-get install libfuse2 + - name: Set up Haxe uses: krdlab/setup-haxe@v1.5.1 with: From f3b4e94586059c23fa694ae269c240a373335637 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 13:10:47 +0100 Subject: [PATCH 37/63] Back to inline dependencies (References: #109) --- .github/workflows/sub-build-linux.yml | 18 +++++++++++------- .github/workflows/sub-build-macos.yml | 12 +++++++++++- .github/workflows/sub-build-windows.yml | 12 +++++++++++- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 04157ba2..621b6cd6 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -113,13 +113,17 @@ jobs: - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} - run: > - haxelib run openfl build project.xml linux - ${{ env.haxe_flag }} - -Dlogverbose - -Dlogcolor - -Dgitsha=${{ github.sha }} - -Dgitbranch=${{ github.ref_name }} + run: | + haxelib install hxcpp + git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime + haxelib dev lime lime + haxelib install format + haxelib install hxp + haxelib git lime-samples https://github.com/openfl/lime-samples + haxelib git openfl https://github.com/openfl/openfl.git develop + haxelib run openfl setup + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - name: Show Build run: tree Export/Development/linux/bin/ diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 79379ef1..a6656715 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -98,7 +98,17 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: haxe --run InstallDependencies.hx + run: | + haxelib install hxcpp + git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime + haxelib dev lime lime + haxelib install format + haxelib install hxp + haxelib git lime-samples https://github.com/openfl/lime-samples + haxelib git openfl https://github.com/openfl/openfl.git develop + haxelib run openfl setup + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 70785a82..1d9d28db 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -98,7 +98,17 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: haxe --run InstallDependencies.hx + run: | + haxelib install hxcpp + git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime + haxelib dev lime lime + haxelib install format + haxelib install hxp + haxelib git lime-samples https://github.com/openfl/lime-samples + haxelib git openfl https://github.com/openfl/openfl.git develop + haxelib run openfl setup + haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - name: Build if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} From 710ecdf8ebec44d2479f54ef3539d2955c259198 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 13:25:58 +0100 Subject: [PATCH 38/63] Fix Linux (References: #109) --- .github/workflows/sub-build-linux.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 621b6cd6..a6fc86ec 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -109,10 +109,6 @@ jobs: - name: Install dependencies if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} working-directory: Build - run: haxe --run InstallDependencies.hx - - - name: Build - if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} run: | haxelib install hxcpp git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime @@ -123,7 +119,17 @@ jobs: haxelib git openfl https://github.com/openfl/openfl.git develop haxelib run openfl setup haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git + haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git + + - name: Build + if: ${{ !inputs.caching || !steps.cache-bin.outputs.cache-hit }} + run: > + haxelib run openfl build project.xml linux + ${{ env.haxe_flag }} + -Dlogverbose + -Dlogcolor + -Dgitsha=${{ github.sha }} + -Dgitbranch=${{ github.ref_name }} - name: Show Build run: tree Export/Development/linux/bin/ From b974f289f71bc3e276a75ec2112e58b418cfbd5e Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 13:49:52 +0100 Subject: [PATCH 39/63] Add windows installer (References: #109) --- .github/workflows/sub-build-windows.yml | 22 ++++- Templates/installer/nsis-installer.nsi | 109 ++++++++++++++++++++++++ 2 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 Templates/installer/nsis-installer.nsi diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 1d9d28db..819798c9 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -127,4 +127,24 @@ jobs: uses: actions/upload-artifact@v4 with: name: ${{ env.app_name }}-windows-bin - path: Export/${{ inputs.env }}/windows/bin/ \ No newline at end of file + path: Export/${{ inputs.env }}/windows/bin/ + + - name: Create NSIS installer + run: > + makensis + /DPRODUCT_NAME=${{ env.app_name }} + /DPRODUCT_VERSION=${{ env.full_version }} + /DPRODUCT_PUBLISHER="Prominic.NET" + /DPRODUCT_WEB_SITE="/https://superhumaninstaller.com/" + /DBIN_PATH="..\..\Export\${{ inputs.env }}\windows\bin\*.*" + /DPRODUCT_EXE=${{ env.app_name }}.exe + /DPRODUCT_INSTALLER=${{ env.app_name }}-Setup.exe + /DROOT_KEY=HKCU + Templates/installer/nsis-installer.nsi + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: ${{ env.app_name }}-Setup.exe + path: Templates/installer/${{ env.app_name }}-Setup.exe + if-no-files-found: error \ No newline at end of file diff --git a/Templates/installer/nsis-installer.nsi b/Templates/installer/nsis-installer.nsi new file mode 100644 index 00000000..f929de02 --- /dev/null +++ b/Templates/installer/nsis-installer.nsi @@ -0,0 +1,109 @@ +; Script generated by the HM NIS Edit Script Wizard. + +; Script inputs +; ${PRODUCT_NAME} +; ${PRODUCT_VERSION} +; ${PRODUCT_PUBLISHER} +; ${PRODUCT_WEB_SITE} +; ${BIN_PATH} +; ${PRODUCT_EXE} +; ${PRODUCT_INSTALLER} +; ${ROOT_KEY} + +RequestExecutionLevel user + +; HM NIS Edit Wizard helper defines + +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_EXE}" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "${ROOT_KEY}" + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Welcome page +!define MUI_WELCOMEPAGE_TITLE_3LINES +!insertmacro MUI_PAGE_WELCOME +; License page +!insertmacro MUI_PAGE_LICENSE "..\..\LICENSE.MD" +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!define MUI_FINISHPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_RUN "$INSTDIR\${PRODUCT_EXE}" +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "${PRODUCT_INSTALLER}" +InstallDir "$LOCALAPPDATA\${PRODUCT_NAME}" +InstallDirRegKey "${ROOT_KEY}" "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +Section "MainSection" SEC01 + RMDir /r "$INSTDIR" + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + File /r "" + CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}" + CreateShortCut "$DESKTOP\S${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}" +SectionEnd + +Section -AdditionalIcons + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\${PRODUCT_EXE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 + Abort +FunctionEnd + +Section Uninstall + RMDir /r "$INSTDIR" + + Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" + Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" + Delete "$DESKTOP\${PRODUCT_NAME}.lnk" + Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" + + RMDir "$SMPROGRAMS\${PRODUCT_NAME}" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd \ No newline at end of file From e6670c9f8afe5542617727bb4929bb7a22d17606 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:03:47 +0100 Subject: [PATCH 40/63] Fix installer bin path (References: #109) --- Templates/installer/nsis-installer.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Templates/installer/nsis-installer.nsi b/Templates/installer/nsis-installer.nsi index f929de02..a0ea2da4 100644 --- a/Templates/installer/nsis-installer.nsi +++ b/Templates/installer/nsis-installer.nsi @@ -59,7 +59,7 @@ Section "MainSection" SEC01 RMDir /r "$INSTDIR" SetOutPath "$INSTDIR" SetOverwrite ifnewer - File /r "" + File /r "${BIN_PATH}" CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}" CreateShortCut "$DESKTOP\S${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}" From fb933a8562695012ec99944fde24a8d2148f3bfa Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:12:57 +0100 Subject: [PATCH 41/63] Fix name (References: #109) --- .github/workflows/sub-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 819798c9..2ae7e452 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -145,6 +145,6 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v3 with: - name: ${{ env.app_name }}-Setup.exe + name: ${{ env.app_name }}-Setup path: Templates/installer/${{ env.app_name }}-Setup.exe if-no-files-found: error \ No newline at end of file From 2e0b1891a52aca6a075f1974a7c974b99e12c654 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:18:16 +0100 Subject: [PATCH 42/63] Sign windows installer (References: #109) --- .github/workflows/sub-build-windows.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 2ae7e452..cd255b4a 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -142,7 +142,17 @@ jobs: /DROOT_KEY=HKCU Templates/installer/nsis-installer.nsi - - name: Upload artifacts + - name: Sign installer + uses: Moonshine-IDE/digicert-sign-action@v1.0 + with: + bin-path: Templates/installer/${{ env.app_name }}-Setup.exe + sm-host: ${{ secrets.SM_HOST }} + sm-api-key: ${{ secrets.SM_API_KEY }} + sm-client-cert-file-b64: ${{ secrets.SM_CLIENT_CERT_FILE_B64 }} + sm-client-cert-password: ${{ secrets.SM_CLIENT_CERT_PASSWORD }} + sm-code-signing-cert-sha1-hash: ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} + + - name: Upload installer uses: actions/upload-artifact@v3 with: name: ${{ env.app_name }}-Setup From 79a88c3b58ad26b0ca0a0e07e6fdf42df3cf96ea Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:24:27 +0100 Subject: [PATCH 43/63] Bump cache version (References: 109) --- .github/workflows/sub-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index cd255b4a..0a9aee22 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -153,7 +153,7 @@ jobs: sm-code-signing-cert-sha1-hash: ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} - name: Upload installer - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ env.app_name }}-Setup path: Templates/installer/${{ env.app_name }}-Setup.exe From 358f268f4bb61a963451e0cd80d19be991254176 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:34:52 +0100 Subject: [PATCH 44/63] Installer for macOS (References: #109) --- .github/workflows/sub-build-macos.yml | 50 +++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index a6656715..8a16c705 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -42,6 +42,7 @@ env: full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} haxe_version: 4.3.3 + bin_path: Export/${{ inputs.env }}/macos/bin/ jobs: build: @@ -92,7 +93,7 @@ jobs: if: ${{ inputs.caching }} uses: actions/cache@v4 with: - path: Export/Development/macos/bin/ + path: ${{ env.bin_path }} key: ${{ env.app_name }}-macos-bin - name: Install dependencies @@ -121,10 +122,53 @@ jobs: -Dgitbranch=${{ github.ref_name }} - name: Show Build - run: ls -r Export/${{ inputs.env }}/macos/bin/ + run: ls -r ${{ env.bin_path }} - name: Upload bin uses: actions/upload-artifact@v4 with: name: ${{ env.app_name }}-macos-bin - path: Export/${{ inputs.env }}/macos/bin/ \ No newline at end of file + path: ${{ env.bin_path }} + + - name: Sign app + uses: Moonshine-IDE/macos-sign-app-action@v1.0 + with: + app-path: ${{ env.bin_path }}/${{ env.app_name }}.app + plist-path: NativeHaxeMaster/build/entitlement-non-sandbox.plist + mac-keychain-pass: ${{ secrets.MAC_KEYCHAIN_PASS }} + mac-application-certkey: ${{ secrets.MAC_APPLICATION_CERTKEY }} + mac-certkey-pass: ${{ secrets.MAC_CERTKEY_PASS }} + + - name: Create installer + run: | + productbuild \ + --version ${{ inputs.version }} \ + --product NativeHaxeMaster/build/entitlement-non-sandbox.plist \ + --identifier ${{ env.app_id }} \ + --component ${{ env.bin_path }}/${{ env.app_name }}.app \ + /Applications \ + ./${{ env.app_name }}-Setup-Unsigned.pkg + + - name: Sign installer + uses: Moonshine-IDE/macos-sign-installer-action@v1.0 + with: + unsigned-pkg-path: ./${{ env.app_name }}-Setup-Unsigned.pkg + signed-pkg-path: ./${{ env.app_name }}-Setup.pkg + mac-keychain-pass: ${{ secrets.MAC_KEYCHAIN_PASS }} + mac-installer-certkey: ${{ secrets.MAC_INSTALLER_CERTKEY }} + mac-certkey-pass: ${{ secrets.MAC_CERTKEY_PASS }} + + - name: Notarize installer + uses: Moonshine-ide/macos-notarize-action@v1.0 + with: + app-path: ./${{ env.app_name }}-Setup.pkg + mac-notarization-apple-id: ${{ secrets.MAC_NOTARIZATION_APPLE_ID }} + mac-notarization-team-id: ${{ secrets.MAC_NOTARIZATION_TEAM_ID }} + mac-notarization-pass: ${{ secrets.MAC_NOTARIZATION_PASS }} + + - name: Upload Installer + uses: actions/upload-artifact@v4 + with: + name: ${{ env.app_name }}-macos-installer + path: ./${{ env.app_name }}-Setup.pkg + if-no-files-found: error \ No newline at end of file From 2f51b0013d3bde880ace2057b08a6ace1d1318cc Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:37:28 +0100 Subject: [PATCH 45/63] Refactor bin path on Windows (References: #109) --- .github/workflows/sub-build-windows.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 0a9aee22..16fda950 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -42,6 +42,7 @@ env: full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} haxe_version: 4.3.3 + bin_path: Export/${{ inputs.env }}/windows/bin/ jobs: build: @@ -92,7 +93,7 @@ jobs: if: ${{ inputs.caching }} uses: actions/cache@v4 with: - path: Export/Development/windows/bin/ + path: ${{ env.bin_path }} key: ${{ env.app_name }}-windows-bin - name: Install dependencies @@ -121,13 +122,13 @@ jobs: -Dgitbranch=${{ github.ref_name }} - name: Show Build - run: ls -r Export/${{ inputs.env }}/windows/bin/ + run: ls -r ${{ env.bin_path }} - name: Upload bin uses: actions/upload-artifact@v4 with: name: ${{ env.app_name }}-windows-bin - path: Export/${{ inputs.env }}/windows/bin/ + path: ${{ env.bin_path }} - name: Create NSIS installer run: > @@ -136,7 +137,7 @@ jobs: /DPRODUCT_VERSION=${{ env.full_version }} /DPRODUCT_PUBLISHER="Prominic.NET" /DPRODUCT_WEB_SITE="/https://superhumaninstaller.com/" - /DBIN_PATH="..\..\Export\${{ inputs.env }}\windows\bin\*.*" + /DBIN_PATH="..\..\${{ env.bin_path }}\*.*" /DPRODUCT_EXE=${{ env.app_name }}.exe /DPRODUCT_INSTALLER=${{ env.app_name }}-Setup.exe /DROOT_KEY=HKCU @@ -155,6 +156,6 @@ jobs: - name: Upload installer uses: actions/upload-artifact@v4 with: - name: ${{ env.app_name }}-Setup + name: ${{ env.app_name }}-windows-installer path: Templates/installer/${{ env.app_name }}-Setup.exe if-no-files-found: error \ No newline at end of file From 29824f2ebe005a002abce74292a94f5302e6a4a7 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 14:42:30 +0100 Subject: [PATCH 46/63] Fix plist path (References: #109) --- .github/workflows/sub-build-macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 8a16c705..7ef82413 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -134,7 +134,7 @@ jobs: uses: Moonshine-IDE/macos-sign-app-action@v1.0 with: app-path: ${{ env.bin_path }}/${{ env.app_name }}.app - plist-path: NativeHaxeMaster/build/entitlement-non-sandbox.plist + plist-path: Templates/installer/SuperHumanInstaller.template.plist mac-keychain-pass: ${{ secrets.MAC_KEYCHAIN_PASS }} mac-application-certkey: ${{ secrets.MAC_APPLICATION_CERTKEY }} mac-certkey-pass: ${{ secrets.MAC_CERTKEY_PASS }} @@ -143,7 +143,7 @@ jobs: run: | productbuild \ --version ${{ inputs.version }} \ - --product NativeHaxeMaster/build/entitlement-non-sandbox.plist \ + --product Templates/installer/SuperHumanInstaller.template.plist \ --identifier ${{ env.app_id }} \ --component ${{ env.bin_path }}/${{ env.app_name }}.app \ /Applications \ From d76c5975f47093522b74c7911bd5c3e7e3c1ecb6 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 15:39:44 +0100 Subject: [PATCH 47/63] Create appimage (References: #109) --- .github/workflows/sub-build-linux.yml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index a6fc86ec..4871368a 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -42,6 +42,7 @@ env: full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} haxe_version: 4.3.3 + bin_path: Export/${{ inputs.env }}/macos/bin jobs: build: @@ -103,7 +104,7 @@ jobs: if: ${{ inputs.caching }} uses: actions/cache@v4 with: - path: Export/Development/linux/bin/ + path: ${{ env.bin_path }} key: ${{ env.app_name }}-linux-bin - name: Install dependencies @@ -132,10 +133,30 @@ jobs: -Dgitbranch=${{ github.ref_name }} - name: Show Build - run: tree Export/Development/linux/bin/ + run: tree ${{ env.bin_path }} - name: Upload bin uses: actions/upload-artifact@v4 with: name: ${{ env.app_name }}-linux-bin - path: Export/${{ inputs.env }}/linux/bin/ \ No newline at end of file + path: ${{ env.bin_path }} + + - name: Create AppImage + uses: Moonshine-IDE/create-appimage-action@main + with: + app-name: ${{ env.app_name }} + app-version: ${{ env.full_version }} + app-icon-name: icon128 + app-categories: Utility + bin-paths: ${{ env.bin_path }}/* + appdir-paths: Assets/icon.png + lib-paths: + share-paths: + output-path: Build/${{ env.app_name }}-x86_64.AppImage + + - name: Upload AppImage + uses: actions/upload-artifact@v4 + with: + name: ${{ env.app_name }}-linux-installer + path: Build/${{ env.app_name }}-x86_64.AppImage + if-no-files-found: error \ No newline at end of file From 37d84ad8ce59ca06e1376009ece4fce97ca222e5 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 15:49:24 +0100 Subject: [PATCH 48/63] Fix path (References: #109) --- .github/workflows/sub-build-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 4871368a..0b5c2622 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -42,7 +42,7 @@ env: full_version: ${{ inputs.version }}.${{ github.run_number }} haxe_flag: ${{ inputs.env == 'Production' && '-final' || '-debug' }} haxe_version: 4.3.3 - bin_path: Export/${{ inputs.env }}/macos/bin + bin_path: Export/${{ inputs.env }}/linux/bin jobs: build: From 82061f84c3731e0a302974776fb57d35585a26d0 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 16:11:55 +0100 Subject: [PATCH 49/63] Fix icon path (References: #109) --- .github/workflows/sub-build-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-linux.yml b/.github/workflows/sub-build-linux.yml index 0b5c2622..4f3867b2 100644 --- a/.github/workflows/sub-build-linux.yml +++ b/.github/workflows/sub-build-linux.yml @@ -146,7 +146,7 @@ jobs: with: app-name: ${{ env.app_name }} app-version: ${{ env.full_version }} - app-icon-name: icon128 + app-icon-name: icon app-categories: Utility bin-paths: ${{ env.bin_path }}/* appdir-paths: Assets/icon.png From e442ba0136721a685117a23609cae48f52817e3a Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 16:33:09 +0100 Subject: [PATCH 50/63] Create release (References: #109) --- .github/workflows/man-release.yml | 101 ++++++++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 4 deletions(-) diff --git a/.github/workflows/man-release.yml b/.github/workflows/man-release.yml index 9779b0bb..b45b67ec 100644 --- a/.github/workflows/man-release.yml +++ b/.github/workflows/man-release.yml @@ -2,13 +2,106 @@ name: Manual - Release on: workflow_dispatch: - workflow_call: + inputs: + env: + description: "An Environment" + required: true + type: choice + options: + - development + - production + version: + description: "A Version" + required: true + type: string + caching: + description: "Use caching" + required: true + type: boolean + default: false + +env: + app_name: ${{ inputs.env == 'Production' && 'SuperHumanInstaller' || 'SuperHumanInstallerDev' }} + app_id: net.prominic.genesis.${{ inputs.env == 'Production' && 'superhumaninstaller' || 'superhumaninstallerdev' }} + full_version: ${{ inputs.version }}.${{ github.run_number }} + tag: v${{ inputs.version }}${{ inputs.env == 'Production' && ' ' || '-dev' }} jobs: - build: + build-linux: + name: Build on Linux + uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/sub-build-linux.yml@109-workflow-improvements + secrets: inherit + with: + env: ${{ inputs.env }} + version: ${{ inputs.version }} + caching: ${{ inputs.caching }} + + build-windows: + name: Build on Windows + uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/sub-build-windows.yml@109-workflow-improvements + secrets: inherit + with: + env: ${{ inputs.env }} + version: ${{ inputs.version }} + caching: ${{ inputs.caching }} + + build-macos: + name: Build on MacOS + uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/sub-build-macos.yml@109-workflow-improvements + secrets: inherit + with: + env: ${{ inputs.env }} + version: ${{ inputs.version }} + caching: ${{ inputs.caching }} + + release: + name: Draft Release + needs: [build-linux, build-windows, build-macos] runs-on: ubuntu-latest steps: - - name: Build info + - name: Print info run: | - echo "Stub flow" \ No newline at end of file + echo "Ref: ${{ github.ref_name }}" + echo "Env: ${{ inputs.env }}" + echo "Version: ${{ env.full_version }}" + echo "App Name: ${{ env.app_name }}" + echo "App ID: ${{ env.app_id }}" + echo "Tag: ${{ env.tag }}" + + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Download linux installer + uses: actions/download-artifact@v4 + with: + name: ${{ env.app_name }}-linux-installer + + - name: Download windows installer + uses: actions/download-artifact@v4 + with: + name: ${{ env.app_name }}-windows-installer + + - name: Download macos installer + uses: actions/download-artifact@v4 + with: + name: ${{ env.app_name }}-macos-installer + + - name: Debug artifacts + run: ls . + + - name: Create release + uses: softprops/action-gh-release@v1 + with: + name: Native v${{ inputs.version }} ${{ inputs.env }} + tag_name: ${{ env.tag }} + target_commitish: ${{ github.sha }} + body: | + This is a ${{ inputs.env }} release of Super.Human.Installer. + draft: true + prerelease: ${{ inputs.env == 'Development' }} + files: | + ${{ env.app_name }}-x86_64.AppImage + ${{ env.app_name }}-Setup.pkg + ${{ env.app_name }}-Setup.exe + fail_on_unmatched_files: true \ No newline at end of file From ba41d6039b38f2d4d95f20dc8e677aca7cebca42 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 16:35:00 +0100 Subject: [PATCH 51/63] Capitalize env (References: #109) --- .github/workflows/man-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/man-release.yml b/.github/workflows/man-release.yml index b45b67ec..70e68841 100644 --- a/.github/workflows/man-release.yml +++ b/.github/workflows/man-release.yml @@ -8,8 +8,8 @@ on: required: true type: choice options: - - development - - production + - Development + - Production version: description: "A Version" required: true From f45873cee041b8c34fa5045458d0647c0d91e97d Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 16:39:20 +0100 Subject: [PATCH 52/63] Fix name (References: #109) --- .github/workflows/man-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/man-release.yml b/.github/workflows/man-release.yml index 70e68841..ebe052da 100644 --- a/.github/workflows/man-release.yml +++ b/.github/workflows/man-release.yml @@ -93,7 +93,7 @@ jobs: - name: Create release uses: softprops/action-gh-release@v1 with: - name: Native v${{ inputs.version }} ${{ inputs.env }} + name: Super.Human.Installer v${{ inputs.version }} ${{ inputs.env }} tag_name: ${{ env.tag }} target_commitish: ${{ github.sha }} body: | From b7bc675b742314ffc825e58712c8f1e2b9078152 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 16:41:20 +0100 Subject: [PATCH 53/63] Clean old build files (References: #109) --- .github/workflows/linux-dev.yml | 47 ----- .github/workflows/linux-prod.yml | 47 ----- .github/workflows/linux-tmp.yml | 43 ----- .github/workflows/macos-dev.yml | 176 ------------------ .github/workflows/macos-prod.yml | 174 ----------------- .github/workflows/release-dev.yml | 89 --------- .github/workflows/release-prod.yml | 88 --------- .github/workflows/windows-dev.yml | 91 --------- .github/workflows/windows-prod.yml | 91 --------- .../SuperHumanInstallerDev.AppDir/AppRun | 7 - .../SuperHumanInstaller.desktop | 6 - .../SuperHumanInstaller.svg | 1 - Templates/installer/windows-installer-dev.nsi | 101 ---------- Templates/installer/windows-installer.nsi | 101 ---------- 14 files changed, 1062 deletions(-) delete mode 100644 .github/workflows/linux-dev.yml delete mode 100644 .github/workflows/linux-prod.yml delete mode 100644 .github/workflows/linux-tmp.yml delete mode 100644 .github/workflows/macos-dev.yml delete mode 100644 .github/workflows/macos-prod.yml delete mode 100644 .github/workflows/release-dev.yml delete mode 100644 .github/workflows/release-prod.yml delete mode 100644 .github/workflows/windows-dev.yml delete mode 100644 .github/workflows/windows-prod.yml delete mode 100755 Templates/SuperHumanInstallerDev.AppDir/AppRun delete mode 100755 Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.desktop delete mode 100644 Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.svg delete mode 100644 Templates/installer/windows-installer-dev.nsi delete mode 100644 Templates/installer/windows-installer.nsi diff --git a/.github/workflows/linux-dev.yml b/.github/workflows/linux-dev.yml deleted file mode 100644 index 031a0ee4..00000000 --- a/.github/workflows/linux-dev.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Linux Dev - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1.5.1 - with: - haxe-version: 4.3.3 - - - name: Install dependencies - run: | - haxelib install hxcpp - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - - - name: Build project - run: | - haxelib run openfl build project.xml linux -debug -Dlogverbose -Dlogcolor -Dgitsha=${{ github.sha }} -Dgitbranch=${{ github.ref_name }} - - - name: Compress artifacts - run: | - cd Export/Development/linux/bin/ - tar czfv SuperHumanInstallerDev.tar.gz * - - - name: Upload artifacts - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstallerDev - path: Export/Development/linux/bin/SuperHumanInstallerDev.tar.gz diff --git a/.github/workflows/linux-prod.yml b/.github/workflows/linux-prod.yml deleted file mode 100644 index 98b6e097..00000000 --- a/.github/workflows/linux-prod.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Linux Prod - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1.5.1 - with: - haxe-version: 4.3.3 - - - name: Install dependencies - run: | - haxelib install hxcpp - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - - - name: Build project - run: | - haxelib run openfl build project.xml linux -Dgitsha=${{ github.sha }} -Dgitbranch=${{ github.ref_name }} - - - name: Compress artifacts - run: | - cd Export/Production/linux/bin/ - tar czfv SuperHumanInstaller.tar.gz * - - - name: Upload artifacts - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstaller - path: Export/Production/linux/bin/SuperHumanInstaller.tar.gz diff --git a/.github/workflows/linux-tmp.yml b/.github/workflows/linux-tmp.yml deleted file mode 100644 index 2e885dbc..00000000 --- a/.github/workflows/linux-tmp.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Linux Tmp Dev - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1 - with: - haxe-version: 4.2.5 - - - name: Install dependencies - run: | - haxelib install hxcpp - haxelib install openfl - haxelib run openfl setup - haxelib install feathersui - - - name: Build project - run: | - haxelib run openfl build project.xml linux -debug -Dlogverbose -Dlogcolor - - - name: Create AppImage - run: | - mkdir Templates/SuperHumanInstallerDev.AppDir/usr - mv Export/Development/linux/bin Templates/SuperHumanInstallerDev.AppDir/usr/ - mkdir Templates/SuperHumanInstallerDev.AppDir/usr/lib - appimagetool Templates/SuperHumanInstallerDev.AppDir/ - ls -R diff --git a/.github/workflows/macos-dev.yml b/.github/workflows/macos-dev.yml deleted file mode 100644 index c36c7791..00000000 --- a/.github/workflows/macos-dev.yml +++ /dev/null @@ -1,176 +0,0 @@ -name: MacOS Dev - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: macos-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Read version - id: readversion - uses: mavrosxristoforos/get-xml-info@1.1.1 - with: - xml-file: 'project.xml' - xpath: '/project/meta/@version' - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1.5.1 - with: - haxe-version: 4.3.3 - - - name: Install dependencies - run: | - haxelib install hxcpp - git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime - haxelib dev lime lime - haxelib install format - haxelib install hxp - haxelib git lime-samples https://github.com/openfl/lime-samples - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - - - name: Build project - run: | - haxelib run openfl build project.xml mac -debug -Dlogverbose -Dlogcolor -Dverbose_process_logs -DCHAMPAIGN_DEBUG=true -Dgitsha=${{ github.sha }} -Dgitbranch=${{ github.ref_name }} - - - name: Create keychain - env: - MAC_KEYCHAIN_PASS: ${{ secrets.MAC_KEYCHAIN_PASS }} - run: | - security create-keychain -p "$MAC_KEYCHAIN_PASS" build.keychain - echo "Keychain created" - security set-keychain-settings -lut 21600 build.keychain - echo "Keychain settings set" - security default-keychain -s build.keychain - echo "Keychain made default" - security unlock-keychain -p "$MAC_KEYCHAIN_PASS" build.keychain - echo "Keychain unlocked" - - - name: Import certificates - env: - MAC_APPLICATION_CERTKEY: ${{ secrets.MAC_APPLICATION_CERTKEY }} - MAC_INSTALLER_CERTKEY: ${{ secrets.MAC_INSTALLER_CERTKEY }} - MAC_CERTKEY_PASS: ${{ secrets.MAC_CERTKEY_PASS }} - run: | - echo "$MAC_APPLICATION_CERTKEY" | base64 --decode > application_certkey.p12 - echo "$MAC_INSTALLER_CERTKEY" | base64 --decode > installer_certkey.p12 - - security import ./application_certkey.p12 \ - -k build.keychain \ - -f pkcs12 \ - -P "$MAC_CERTKEY_PASS" \ - -T /usr/bin/codesign \ - -T /usr/bin/productsign - - security import ./installer_certkey.p12 \ - -k build.keychain \ - -f pkcs12 \ - -P "$MAC_CERTKEY_PASS" \ - -T /usr/bin/codesign \ - -T /usr/bin/productsign - - - name: Allow codesign and productsign to use keychain - env: - MAC_KEYCHAIN_PASS: ${{ secrets.MAC_KEYCHAIN_PASS }} - run: | - security set-key-partition-list \ - -S apple-tool:,apple:,codesign:,productsign: \ - -s \ - -k "$MAC_KEYCHAIN_PASS" \ - build.keychain - - - name: Sign contents - run: | - codesign Export/Development/macos/bin/SuperHumanInstallerDev.app \ - --sign "Developer ID Application" \ - --options runtime \ - --force \ - --timestamp \ - --verbose \ - --deep - - - name: Verify singature - run: | - codesign Export/Development/macos/bin/SuperHumanInstallerDev.app \ - --display \ - --verbose \ - -r- - - codesign Export/Development/macos/bin/SuperHumanInstallerDev.app \ - --verify \ - --verbose - - - name: Create package - env: - VERSION: ${{ steps.readversion.outputs.info }} - run: | - productbuild \ - --version "$VERSION" \ - --product Templates/installer/SuperHumanInstaller.template.plist \ - --identifier net.prominic.genesis.superhumaninstallerdev \ - --component Export/Development/macos/bin/SuperHumanInstallerDev.app \ - /Applications \ - ./SuperHumanInstallerDev-Setup-Unsigned.pkg - - - name: Sign installer - run: | - productsign \ - --timestamp \ - --sign "Developer ID Installer" \ - ./SuperHumanInstallerDev-Setup-Unsigned.pkg \ - ./SuperHumanInstallerDev-Setup.pkg - - - name: "Notarize app bundle" - env: - MAC_NOTARIZATION_APPLE_ID: ${{ secrets.MAC_NOTARIZATION_APPLE_ID }} - MAC_NOTARIZATION_TEAM_ID: ${{ secrets.MAC_NOTARIZATION_TEAM_ID }} - MAC_NOTARIZATION_PASS: ${{ secrets.MAC_NOTARIZATION_PASS }} - run: | - # Store the notarization credentials so that we can prevent a UI password dialog - # from blocking the CI - echo "Create keychain profile" - xcrun notarytool \ - store-credentials "notarytool-profile" \ - --apple-id "$MAC_NOTARIZATION_APPLE_ID" \ - --team-id "$MAC_NOTARIZATION_TEAM_ID" \ - --password "$MAC_NOTARIZATION_PASS" - - echo "Notarize app" - xcrun notarytool \ - submit ./SuperHumanInstallerDev-Setup.pkg \ - --keychain-profile "notarytool-profile" \ - --wait - - echo "Attach staple" - xcrun stapler \ - staple ./SuperHumanInstallerDev-Setup.pkg - - - name: Verify installer signature - run: | - pkgutil --check-signature ./SuperHumanInstallerDev-Setup.pkg - spctl \ - --assess \ - --type install \ - --verbose \ - --verbose \ - ./SuperHumanInstallerDev-Setup.pkg - - - name: Upload artifacts - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstallerDev-Setup - path: ./SuperHumanInstallerDev-Setup.pkg diff --git a/.github/workflows/macos-prod.yml b/.github/workflows/macos-prod.yml deleted file mode 100644 index 25ebc15e..00000000 --- a/.github/workflows/macos-prod.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: MacOS Prod - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: macOS-12 - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Read version - id: readversion - uses: mavrosxristoforos/get-xml-info@1.1.1 - with: - xml-file: 'project.xml' - xpath: '/project/meta/@version' - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1.5.1 - with: - haxe-version: 4.3.3 - - - name: Install dependencies - run: | - haxelib install hxcpp - git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime - haxelib dev lime lime - haxelib install format - haxelib install hxp - haxelib git lime-samples https://github.com/openfl/lime-samples - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - - - name: Build project - run: | - haxelib run openfl build project.xml mac -Dgitsha=${{ github.sha }} -Dgitbranch=${{ github.ref_name }} - - - name: Create keychain - env: - MAC_KEYCHAIN_PASS: ${{ secrets.MAC_KEYCHAIN_PASS }} - run: | - security create-keychain -p "$MAC_KEYCHAIN_PASS" build.keychain - echo "Keychain created" - security set-keychain-settings -lut 21600 build.keychain - echo "Keychain settings set" - security default-keychain -s build.keychain - echo "Keychain made default" - security unlock-keychain -p "$MAC_KEYCHAIN_PASS" build.keychain - echo "Keychain unlocked" - - - name: Import certificates - env: - MAC_APPLICATION_CERTKEY: ${{ secrets.MAC_APPLICATION_CERTKEY }} - MAC_INSTALLER_CERTKEY: ${{ secrets.MAC_INSTALLER_CERTKEY }} - MAC_CERTKEY_PASS: ${{ secrets.MAC_CERTKEY_PASS }} - run: | - echo "$MAC_APPLICATION_CERTKEY" | base64 --decode > application_certkey.p12 - echo "$MAC_INSTALLER_CERTKEY" | base64 --decode > installer_certkey.p12 - - security import ./application_certkey.p12 \ - -k build.keychain \ - -f pkcs12 \ - -P "$MAC_CERTKEY_PASS" \ - -T /usr/bin/codesign \ - -T /usr/bin/productsign - - security import ./installer_certkey.p12 \ - -k build.keychain \ - -f pkcs12 \ - -P "$MAC_CERTKEY_PASS" \ - -T /usr/bin/codesign \ - -T /usr/bin/productsign - - - name: Allow codesign and productsign to use keychain - env: - MAC_KEYCHAIN_PASS: ${{ secrets.MAC_KEYCHAIN_PASS }} - run: | - security set-key-partition-list \ - -S apple-tool:,apple:,codesign:,productsign: \ - -s \ - -k "$MAC_KEYCHAIN_PASS" \ - build.keychain - - - name: Sign contents - run: | - codesign Export/Production/macos/bin/SuperHumanInstaller.app \ - --sign "Developer ID Application" \ - --options runtime \ - --force \ - --timestamp \ - --verbose \ - --deep - - - name: Verify singature - run: | - codesign Export/Production/macos/bin/SuperHumanInstaller.app \ - --display \ - --verbose \ - -r- - - codesign Export/Production/macos/bin/SuperHumanInstaller.app \ - --verify \ - --verbose - - - name: Create package - run: | - productbuild \ - --version ${{ steps.readversion.outputs.info }} \ - --product Templates/installer/SuperHumanInstaller.template.plist \ - --identifier net.prominic.genesis.superhumaninstaller \ - --component Export/Production/macos/bin/SuperHumanInstaller.app \ - /Applications \ - ./SuperHumanInstaller-Setup-Unsigned.pkg - - - name: Sign installer - run: | - productsign \ - --timestamp \ - --sign "Developer ID Installer" \ - ./SuperHumanInstaller-Setup-Unsigned.pkg \ - ./SuperHumanInstaller-Setup.pkg - - - name: "Notarize app bundle" - env: - MAC_NOTARIZATION_APPLE_ID: ${{ secrets.MAC_NOTARIZATION_APPLE_ID }} - MAC_NOTARIZATION_TEAM_ID: ${{ secrets.MAC_NOTARIZATION_TEAM_ID }} - MAC_NOTARIZATION_PASS: ${{ secrets.MAC_NOTARIZATION_PASS }} - run: | - # Store the notarization credentials so that we can prevent a UI password dialog - # from blocking the CI - echo "Create keychain profile" - xcrun notarytool \ - store-credentials "notarytool-profile" \ - --apple-id "$MAC_NOTARIZATION_APPLE_ID" \ - --team-id "$MAC_NOTARIZATION_TEAM_ID" \ - --password "$MAC_NOTARIZATION_PASS" - - echo "Notarize app" - xcrun notarytool \ - submit ./SuperHumanInstaller-Setup.pkg \ - --keychain-profile "notarytool-profile" \ - --wait - - echo "Attach staple" - xcrun stapler \ - staple ./SuperHumanInstaller-Setup.pkg - - - name: Verify installer signature - run: | - pkgutil --check-signature ./SuperHumanInstaller-Setup.pkg - spctl \ - --assess \ - --type install \ - --verbose \ - --verbose \ - ./SuperHumanInstaller-Setup.pkg - - - name: Upload artifacts - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstaller-Setup - path: ./SuperHumanInstaller-Setup.pkg diff --git a/.github/workflows/release-dev.yml b/.github/workflows/release-dev.yml deleted file mode 100644 index b9d87bcd..00000000 --- a/.github/workflows/release-dev.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Release Development -on: workflow_dispatch - -jobs: - build-linux: - name: Build on Linux - uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/linux-dev.yml@master - secrets: inherit - - build-windows: - name: Build on Windows - uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/windows-dev.yml@master - secrets: inherit - - build-macos: - name: Build on MacOS - uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/macos-dev.yml@master - secrets: inherit - - release: - name: Draft Development Release - needs: [build-linux, build-windows, build-macos] - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - - - name: Get Current Time - id: current-time - uses: josStorer/get-current-time@v2.0.2 - - - name: Read version - id: readversion - uses: mavrosxristoforos/get-xml-info@1.1.1 - with: - xml-file: 'project.xml' - xpath: '/project/meta/@version' - - - name: Download macOS installer - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstallerDev-Setup - - - name: Download windows installer - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstallerDev-Setup - - - name: Download choco package - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstallerDev-Choco - - - name: Download linux installer - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstallerDev - - - name: json-to-file - uses: devops-actions/json-to-file@v1.0.1 - with: - json: | - { - "workflow": "development", - "version": "${{ steps.readversion.outputs.info }}", - "branch": "${{ github.ref_name }}", - "commit_sha": "${{ github.sha }}", - "build_date": "${{ steps.current-time.outputs.readableTime }}" - } - filename: buildinfo.json - - - name: Create release - uses: softprops/action-gh-release@v1 - with: - name: Development Release - tag_name: ${{ steps.readversion.outputs.info }}-dev - body: | - This is a Development Release of Super.Human.Installer. - It is not intended for production use. - draft: false - prerelease: true - files: | - SuperHumanInstallerDev-Setup.pkg - SuperHumanInstallerDev-Setup.exe - SuperHumanInstallerDev.tar.gz - SuperHumanInstallerDev-Choco.nupkg - buildinfo.json - fail_on_unmatched_files: true diff --git a/.github/workflows/release-prod.yml b/.github/workflows/release-prod.yml deleted file mode 100644 index 272c7704..00000000 --- a/.github/workflows/release-prod.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Release Production -on: workflow_dispatch - -jobs: - build-linux: - name: Build on Linux - uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/linux-prod.yml@master - secrets: inherit - - build-windows: - name: Build on Windows - uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/windows-prod.yml@master - secrets: inherit - - build-macos: - name: Build on MacOS - uses: Moonshine-IDE/Super.Human.Installer/.github/workflows/macos-prod.yml@master - secrets: inherit - - release: - name: Draft Production Release - needs: [build-linux, build-windows, build-macos] - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - - - name: Get Current Time - id: current-time - uses: josStorer/get-current-time@v2.0.2 - - - name: Read version - id: readversion - uses: mavrosxristoforos/get-xml-info@1.1.1 - with: - xml-file: 'project.xml' - xpath: '/project/meta/@version' - - - name: Download macOS installer - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstaller-Setup - - - name: Download windows installer - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstaller-Setup - - - name: Download choco package - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstaller-Choco - - - name: Download linux installer - uses: actions/download-artifact@v3 - with: - name: SuperHumanInstaller - - - name: json-to-file - uses: devops-actions/json-to-file@v1.0.1 - with: - json: | - { - "workflow": "production", - "version": "${{ steps.readversion.outputs.info }}", - "branch": "${{ github.ref_name }}", - "commit_sha": "${{ github.sha }}", - "build_date": "${{ steps.current-time.outputs.readableTime }}" - } - filename: buildinfo.json - - - name: Create release - uses: softprops/action-gh-release@v1 - with: - name: "Production: Super.Human.Installer v${{ steps.readversion.outputs.info }}" - tag_name: ${{ steps.readversion.outputs.info }} - body: | - This is a Production Release of Super.Human.Installer. - draft: false - prerelease: false - files: | - SuperHumanInstaller-Setup.pkg - SuperHumanInstaller-Setup.exe - SuperHumanInstaller.tar.gz - SuperHumanInstaller-Choco.nupkg - buildinfo.json - fail_on_unmatched_files: true diff --git a/.github/workflows/windows-dev.yml b/.github/workflows/windows-dev.yml deleted file mode 100644 index 560c0aac..00000000 --- a/.github/workflows/windows-dev.yml +++ /dev/null @@ -1,91 +0,0 @@ -name: Windows Dev - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: windows-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Read version - id: readversion - uses: mavrosxristoforos/get-xml-info@1.1.1 - with: - xml-file: 'project.xml' - xpath: '/project/meta/@version' - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1.5.1 - with: - haxe-version: 4.3.3 - - - name: Install dependencies - run: | - haxelib install hxcpp - git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime - haxelib dev lime lime - haxelib install format - haxelib install hxp - haxelib git lime-samples https://github.com/openfl/lime-samples - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - - - name: Build project - run: | - haxelib run openfl build project.xml windows -debug -Dlogverbose -Dlogcolor -Dverbose_process_logs -DCHAMPAIGN_DEBUG=true -Dgitsha=${{ github.sha }} -Dgitbranch=${{ github.ref_name }} - - - name: Create NSIS installer - run: | - makensis /DPRODUCT_VERSION=${{ steps.readversion.outputs.info }} Templates/installer/windows-installer-dev.nsi - - # Sign installer - - - name: Sign installer - uses: Moonshine-IDE/digicert-sign-action@v1.0 - with: - bin-path: Templates/installer/SuperHumanInstallerDev-Setup.exe - sm-host: ${{ secrets.SM_HOST }} - sm-api-key: ${{ secrets.SM_API_KEY }} - sm-client-cert-file-b64: ${{ secrets.SM_CLIENT_CERT_FILE_B64 }} - sm-client-cert-password: ${{ secrets.SM_CLIENT_CERT_PASSWORD }} - sm-code-signing-cert-sha1-hash: ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} - - - name: Upload installer - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstallerDev-Setup - path: Templates/installer/SuperHumanInstallerDev-Setup.exe - - - name: Copy files to choco - run: | - cp Templates/installer/SuperHumanInstallerDev-Setup.exe Templates/chocolatey-dev/tools/ - cp LICENSE.MD Templates/chocolatey-dev/ - - - name: Create chocko package - run: | - choco pack ` - --version ${{ steps.readversion.outputs.info }} ` - --out Templates/chocolatey-dev/ ` - Templates/chocolatey-dev/SuperHumanInstallerDev.nuspec - mv ` - .\Templates\chocolatey-dev\superhumaninstallerdev*.nupkg ` - .\Templates\chocolatey-dev\SuperHumanInstallerDev-Choco.nupkg - - - name: Upload choco package - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstallerDev-Choco - path: Templates/chocolatey-dev/SuperHumanInstallerDev-Choco.nupkg diff --git a/.github/workflows/windows-prod.yml b/.github/workflows/windows-prod.yml deleted file mode 100644 index b6906da9..00000000 --- a/.github/workflows/windows-prod.yml +++ /dev/null @@ -1,91 +0,0 @@ -name: Windows Prod - -on: - - workflow_dispatch - - workflow_call - -jobs: - build: - name: Build - runs-on: windows-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v3 - with: - lfs: true - - - name: Checkout LFS objects - run: git lfs checkout - - - name: Read version - id: readversion - uses: mavrosxristoforos/get-xml-info@1.1.1 - with: - xml-file: 'project.xml' - xpath: '/project/meta/@version' - - - name: Set up Haxe - uses: krdlab/setup-haxe@v1.5.1 - with: - haxe-version: 4.3.3 - - - name: Install dependencies - run: | - haxelib install hxcpp - git clone --recursive --depth 1 --branch develop https://github.com/openfl/lime - haxelib dev lime lime - haxelib install format - haxelib install hxp - haxelib git lime-samples https://github.com/openfl/lime-samples - haxelib git openfl https://github.com/openfl/openfl.git develop - haxelib run openfl setup - haxelib git feathersui https://github.com/feathersui/feathersui-openfl.git - haxelib git champaign https://github.com/Moonshine-IDE/Champaign.git - - - name: Build project - run: | - haxelib run openfl build project.xml windows -Dgitsha=${{ github.sha }} -Dgitbranch=${{ github.ref_name }} - - - name: Create NSIS installer - run: | - makensis /DPRODUCT_VERSION=${{ steps.readversion.outputs.info }} Templates/installer/windows-installer.nsi - - # Sign installer - - - name: Sign installer - uses: Moonshine-IDE/digicert-sign-action@v1.0 - with: - bin-path: Templates/installer/SuperHumanInstaller-Setup.exe - sm-host: ${{ secrets.SM_HOST }} - sm-api-key: ${{ secrets.SM_API_KEY }} - sm-client-cert-file-b64: ${{ secrets.SM_CLIENT_CERT_FILE_B64 }} - sm-client-cert-password: ${{ secrets.SM_CLIENT_CERT_PASSWORD }} - sm-code-signing-cert-sha1-hash: ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} - - - name: Upload installer - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstaller-Setup - path: Templates/installer/SuperHumanInstaller-Setup.exe - - - name: Copy files to choco - run: | - cp Templates/installer/SuperHumanInstaller-Setup.exe Templates/chocolatey/tools/ - cp LICENSE.MD Templates/chocolatey/ - - - name: Create chocko package - run: | - choco pack ` - --version ${{ steps.readversion.outputs.info }} ` - --out Templates/chocolatey/ ` - Templates/chocolatey/SuperHumanInstaller.nuspec - mv ` - .\Templates\chocolatey\superhumaninstaller*.nupkg ` - .\Templates\chocolatey\SuperHumanInstaller-Choco.nupkg - - - name: Upload choco package - uses: actions/upload-artifact@v3 - with: - name: SuperHumanInstaller-Choco - path: Templates/chocolatey/SuperHumanInstaller-Choco.nupkg diff --git a/Templates/SuperHumanInstallerDev.AppDir/AppRun b/Templates/SuperHumanInstallerDev.AppDir/AppRun deleted file mode 100755 index 10b13f82..00000000 --- a/Templates/SuperHumanInstallerDev.AppDir/AppRun +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -APPRUN=$(readlink -f "$0") -MOUNTPOINT=${APPRUN%/*} -BINDIR=${MOUNTPOINT}/usr/bin -cd ${BINDIR} -./SuperHumanInstallerDev diff --git a/Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.desktop b/Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.desktop deleted file mode 100755 index 906c5adb..00000000 --- a/Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=SuperHumanInstallerDev -Exec=SuperHumanInstallerDev -Icon=SuperHumanInstaller -Type=Application -Categories=Utility; diff --git a/Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.svg b/Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.svg deleted file mode 100644 index a4125f0f..00000000 --- a/Templates/SuperHumanInstallerDev.AppDir/SuperHumanInstaller.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Templates/installer/windows-installer-dev.nsi b/Templates/installer/windows-installer-dev.nsi deleted file mode 100644 index 504045d6..00000000 --- a/Templates/installer/windows-installer-dev.nsi +++ /dev/null @@ -1,101 +0,0 @@ -; Script generated by the HM NIS Edit Script Wizard. - -RequestExecutionLevel user - -; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "SuperHumanInstallerDev" -!define PRODUCT_PUBLISHER "Prominic.NET" -!define PRODUCT_WEB_SITE "https://www.prominic.net/" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\SuperHumanInstallerDev.exe" -!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" -!define PRODUCT_UNINST_ROOT_KEY "HKCU" - -; MUI 1.67 compatible ------ -!include "MUI.nsh" - -; MUI Settings -!define MUI_ABORTWARNING -!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" - -; Welcome page -!define MUI_WELCOMEPAGE_TITLE_3LINES -!insertmacro MUI_PAGE_WELCOME -; License page -!insertmacro MUI_PAGE_LICENSE "..\..\LICENSE.MD" -; Directory page -!insertmacro MUI_PAGE_DIRECTORY -; Instfiles page -!insertmacro MUI_PAGE_INSTFILES -; Finish page -!define MUI_FINISHPAGE_TITLE_3LINES -!define MUI_FINISHPAGE_RUN "$INSTDIR\SuperHumanInstallerDev.exe" -!insertmacro MUI_PAGE_FINISH - -; Uninstaller pages -!insertmacro MUI_UNPAGE_INSTFILES - -; Language files -!insertmacro MUI_LANGUAGE "English" - -; MUI end ------ - -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "SuperHumanInstallerDev-Setup.exe" -InstallDir "$LOCALAPPDATA\SuperHumanInstallerDev" -InstallDirRegKey HKCU "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails show -ShowUnInstDetails show - -Section "MainSection" SEC01 - RMDir /r "$INSTDIR" - SetOutPath "$INSTDIR" - SetOverwrite ifnewer - File /r "..\..\Export\Development\windows\bin\*.*" - CreateDirectory "$SMPROGRAMS\SuperHumanInstallerDev" - CreateShortCut "$SMPROGRAMS\SuperHumanInstallerDev\SuperHumanInstallerDev.lnk" "$INSTDIR\SuperHumanInstallerDev.exe" - CreateShortCut "$DESKTOP\SuperHumanInstallerDev.lnk" "$INSTDIR\SuperHumanInstallerDev.exe" -SectionEnd - -Section -AdditionalIcons - WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" - CreateShortCut "$SMPROGRAMS\SuperHumanInstallerDev\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" - CreateShortCut "$SMPROGRAMS\SuperHumanInstallerDev\Uninstall.lnk" "$INSTDIR\uninst.exe" -SectionEnd - -Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\SuperHumanInstallerDev.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\SuperHumanInstallerDev.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" -SectionEnd - - -Function un.onUninstSuccess - HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." -FunctionEnd - -Function un.onInit - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 - Abort -FunctionEnd - -Section Uninstall - RMDir /r "$INSTDIR" - - Delete "$SMPROGRAMS\SuperHumanInstallerDev\Uninstall.lnk" - Delete "$SMPROGRAMS\SuperHumanInstallerDev\Website.lnk" - Delete "$DESKTOP\SuperHumanInstallerDev.lnk" - Delete "$SMPROGRAMS\SuperHumanInstallerDev\SuperHumanInstallerDev.lnk" - - RMDir "$SMPROGRAMS\SuperHumanInstallerDev" - - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" - DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}" - SetAutoClose true -SectionEnd \ No newline at end of file diff --git a/Templates/installer/windows-installer.nsi b/Templates/installer/windows-installer.nsi deleted file mode 100644 index c25ae80c..00000000 --- a/Templates/installer/windows-installer.nsi +++ /dev/null @@ -1,101 +0,0 @@ -; Script generated by the HM NIS Edit Script Wizard. - -RequestExecutionLevel user - -; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "SuperHumanInstaller" -!define PRODUCT_PUBLISHER "Prominic.NET" -!define PRODUCT_WEB_SITE "https://www.prominic.net/" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\SuperHumanInstaller.exe" -!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" -!define PRODUCT_UNINST_ROOT_KEY "HKCU" - -; MUI 1.67 compatible ------ -!include "MUI.nsh" - -; MUI Settings -!define MUI_ABORTWARNING -!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" - -; Welcome page -!define MUI_WELCOMEPAGE_TITLE_3LINES -!insertmacro MUI_PAGE_WELCOME -; License page -!insertmacro MUI_PAGE_LICENSE "..\..\LICENSE.MD" -; Directory page -!insertmacro MUI_PAGE_DIRECTORY -; Instfiles page -!insertmacro MUI_PAGE_INSTFILES -; Finish page -!define MUI_FINISHPAGE_TITLE_3LINES -!define MUI_FINISHPAGE_RUN "$INSTDIR\SuperHumanInstaller.exe" -!insertmacro MUI_PAGE_FINISH - -; Uninstaller pages -!insertmacro MUI_UNPAGE_INSTFILES - -; Language files -!insertmacro MUI_LANGUAGE "English" - -; MUI end ------ - -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -OutFile "SuperHumanInstaller-Setup.exe" -InstallDir "$LOCALAPPDATA\SuperHumanInstaller" -InstallDirRegKey HKCU "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails show -ShowUnInstDetails show - -Section "MainSection" SEC01 - RMDir /r "$INSTDIR" - SetOutPath "$INSTDIR" - SetOverwrite ifnewer - File /r "..\..\Export\Production\windows\bin\*.*" - CreateDirectory "$SMPROGRAMS\SuperHumanInstaller" - CreateShortCut "$SMPROGRAMS\SuperHumanInstaller\SuperHumanInstaller.lnk" "$INSTDIR\SuperHumanInstaller.exe" - CreateShortCut "$DESKTOP\SuperHumanInstaller.lnk" "$INSTDIR\SuperHumanInstaller.exe" -SectionEnd - -Section -AdditionalIcons - WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" - CreateShortCut "$SMPROGRAMS\SuperHumanInstaller\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" - CreateShortCut "$SMPROGRAMS\SuperHumanInstaller\Uninstall.lnk" "$INSTDIR\uninst.exe" -SectionEnd - -Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\SuperHumanInstaller.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\SuperHumanInstaller.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" -SectionEnd - - -Function un.onUninstSuccess - HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." -FunctionEnd - -Function un.onInit - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 - Abort -FunctionEnd - -Section Uninstall - RMDir /r "$INSTDIR" - - Delete "$SMPROGRAMS\SuperHumanInstaller\Uninstall.lnk" - Delete "$SMPROGRAMS\SuperHumanInstaller\Website.lnk" - Delete "$DESKTOP\SuperHumanInstaller.lnk" - Delete "$SMPROGRAMS\SuperHumanInstaller\SuperHumanInstaller.lnk" - - RMDir "$SMPROGRAMS\SuperHumanInstaller" - - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" - DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}" - SetAutoClose true -SectionEnd \ No newline at end of file From ec78ab42e6fe2f888fe7883498971a3cb1dcc179 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Tue, 6 Feb 2024 17:34:03 +0100 Subject: [PATCH 54/63] Add choco package (References: #109) --- .github/workflows/sub-build-windows.yml | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 16fda950..e3ab4b1b 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -158,4 +158,30 @@ jobs: with: name: ${{ env.app_name }}-windows-installer path: Templates/installer/${{ env.app_name }}-Setup.exe - if-no-files-found: error \ No newline at end of file + if-no-files-found: error + + - name: Copy files to choco + run: | + cp Templates/installer/SuperHumanInstallerDev-Setup.exe Templates/chocolatey-dev/tools/ + cp LICENSE.MD Templates/chocolatey-dev/ + + - name: Create chocko package + env: + choco_dir: ${{ inputs.env == 'Production' && 'chocolatey' || 'chocolatey-dev' }} + nupkg: ${{ inputs.env == 'Production' && 'superhumaninstaller*.nupkg' || 'superhumaninstallerdev*.nupkg' }} + run: | + choco pack ` + --version ${{ inputs.version }} ` + --out Templates/${{ env.choco_dir }}/ ` + Templates/${{ env.choco_dir }}/${{ env.app_name }}.nuspec + mv ` + .\Templates\${{ env.choco_dir }}\superhumaninstallerdev*.nupkg ` + .\Templates\${{ env.choco_dir }}\${{ env.app_name }}-Choco.nupkg + + - name: Upload choco package + uses: actions/upload-artifact@v4 + env: + choco_dir: ${{ inputs.env == 'Production' && 'chocolatey' || 'chocolatey-dev' }} + with: + name: ${{ env.app_name }}-Choco + path: Templates/${{ env.choco_dir }}/${{ env.app_name }}-Choco.nupkg \ No newline at end of file From 0d0b6e715be0fd25d3c9af46d4db3b9c4593da08 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Wed, 7 Feb 2024 15:01:14 +0100 Subject: [PATCH 55/63] Add choco (References: #109) --- .github/workflows/man-release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/man-release.yml b/.github/workflows/man-release.yml index ebe052da..389b91f0 100644 --- a/.github/workflows/man-release.yml +++ b/.github/workflows/man-release.yml @@ -104,4 +104,5 @@ jobs: ${{ env.app_name }}-x86_64.AppImage ${{ env.app_name }}-Setup.pkg ${{ env.app_name }}-Setup.exe + ${{ env.app_name }}-Choco.nupkg fail_on_unmatched_files: true \ No newline at end of file From 69cfa7eeee8faa1c10be1c106c439a80ab73b8d2 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Wed, 7 Feb 2024 15:13:31 +0100 Subject: [PATCH 56/63] Fix download choco (References: #109) --- .github/workflows/man-release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/man-release.yml b/.github/workflows/man-release.yml index 389b91f0..7b4ebd18 100644 --- a/.github/workflows/man-release.yml +++ b/.github/workflows/man-release.yml @@ -82,6 +82,11 @@ jobs: with: name: ${{ env.app_name }}-windows-installer + - name: Download windows chocolatey package + uses: actions/download-artifact@v4 + with: + name: ${{ env.app_name }}-Choco + - name: Download macos installer uses: actions/download-artifact@v4 with: From baa732e3b4226fe3403d896ffdbbd52ebb842563 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Wed, 7 Feb 2024 15:54:24 +0100 Subject: [PATCH 57/63] Add buildinfo (References: #27) --- .github/workflows/man-release.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/man-release.yml b/.github/workflows/man-release.yml index 7b4ebd18..a0d21bcc 100644 --- a/.github/workflows/man-release.yml +++ b/.github/workflows/man-release.yml @@ -92,8 +92,22 @@ jobs: with: name: ${{ env.app_name }}-macos-installer - - name: Debug artifacts - run: ls . + - name: Get Current Time + id: current-time + uses: josStorer/get-current-time@v2.1.1 + + - name: Generate buildinfo + uses: devops-actions/json-to-file@v1.0.3 + with: + json: | + { + "workflow": "development", + "version": "${{ env.full_version }}", + "branch": "${{ github.ref_name }}", + "commit_sha": "${{ github.sha }}", + "build_date": "${{ steps.current-time.outputs.readableTime }}" + } + filename: buildinfo.json - name: Create release uses: softprops/action-gh-release@v1 @@ -110,4 +124,5 @@ jobs: ${{ env.app_name }}-Setup.pkg ${{ env.app_name }}-Setup.exe ${{ env.app_name }}-Choco.nupkg + buildinfo.json fail_on_unmatched_files: true \ No newline at end of file From 2d50689c6d2a0613a03100bc60a1eb57b1e7c221 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Thu, 8 Feb 2024 13:20:50 +0100 Subject: [PATCH 58/63] Sign app without entitlemenst (References: #109) --- .github/workflows/sub-build-macos.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 7ef82413..53ca5353 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -134,7 +134,6 @@ jobs: uses: Moonshine-IDE/macos-sign-app-action@v1.0 with: app-path: ${{ env.bin_path }}/${{ env.app_name }}.app - plist-path: Templates/installer/SuperHumanInstaller.template.plist mac-keychain-pass: ${{ secrets.MAC_KEYCHAIN_PASS }} mac-application-certkey: ${{ secrets.MAC_APPLICATION_CERTKEY }} mac-certkey-pass: ${{ secrets.MAC_CERTKEY_PASS }} From 0b98b54bffe3774fcd3add0432d53d82490c9179 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Thu, 8 Feb 2024 13:21:29 +0100 Subject: [PATCH 59/63] Sign app without entitlements (References: #109) --- .github/workflows/sub-build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-macos.yml b/.github/workflows/sub-build-macos.yml index 53ca5353..03c5195e 100644 --- a/.github/workflows/sub-build-macos.yml +++ b/.github/workflows/sub-build-macos.yml @@ -131,7 +131,7 @@ jobs: path: ${{ env.bin_path }} - name: Sign app - uses: Moonshine-IDE/macos-sign-app-action@v1.0 + uses: Moonshine-IDE/macos-sign-app-action@main with: app-path: ${{ env.bin_path }}/${{ env.app_name }}.app mac-keychain-pass: ${{ secrets.MAC_KEYCHAIN_PASS }} From b6fafe212cfa87fdf78696b2ec0607d637c5827a Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Thu, 8 Feb 2024 14:16:36 +0100 Subject: [PATCH 60/63] Fix choco dir (References: #109) --- .github/workflows/sub-build-windows.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index e3ab4b1b..5c89737a 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -161,9 +161,12 @@ jobs: if-no-files-found: error - name: Copy files to choco + env: + choco_dir: ${{ inputs.env == 'Production' && 'chocolatey' || 'chocolatey-dev' }} + nupkg: ${{ inputs.env == 'Production' && 'superhumaninstaller*.nupkg' || 'superhumaninstallerdev*.nupkg' }} run: | - cp Templates/installer/SuperHumanInstallerDev-Setup.exe Templates/chocolatey-dev/tools/ - cp LICENSE.MD Templates/chocolatey-dev/ + cp Templates/installer/${{ env.app_name }}-Setup.exe Templates/${{ env.choco_dir }}/tools/ + cp LICENSE.MD Templates/${{ env.choco_dir }}/ - name: Create chocko package env: From 9acb09303a5660e17e2d18596b4c42de59d0df53 Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Thu, 8 Feb 2024 14:27:45 +0100 Subject: [PATCH 61/63] Version info tests (References: #109) --- .github/workflows/update-versioninfo.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-versioninfo.yml b/.github/workflows/update-versioninfo.yml index 82ae859f..fb0fa96e 100644 --- a/.github/workflows/update-versioninfo.yml +++ b/.github/workflows/update-versioninfo.yml @@ -34,7 +34,8 @@ jobs: run: | python DevOps/generate-vinfo.py mkdir site - mv versioninfo.json site/versioninfo.json + mkdir site/test + mv versioninfo.json site/test/versioninfo.json - name: Upload artifact uses: actions/upload-pages-artifact@v1 From 20bffad00d9aca46988ab26955988d89aba273da Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Thu, 8 Feb 2024 14:40:28 +0100 Subject: [PATCH 62/63] Fix choco (References: #109) --- .github/workflows/sub-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index 5c89737a..d0f1d103 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -178,7 +178,7 @@ jobs: --out Templates/${{ env.choco_dir }}/ ` Templates/${{ env.choco_dir }}/${{ env.app_name }}.nuspec mv ` - .\Templates\${{ env.choco_dir }}\superhumaninstallerdev*.nupkg ` + .\Templates\${{ env.choco_dir }}\${{ env.nupkg }}*.nupkg ` .\Templates\${{ env.choco_dir }}\${{ env.app_name }}-Choco.nupkg - name: Upload choco package From 8f0801a01de5426ea989c90f768188f3a0d36cae Mon Sep 17 00:00:00 2001 From: Adrian Szuszkiewicz Date: Thu, 8 Feb 2024 14:54:09 +0100 Subject: [PATCH 63/63] Fix choco (References: #109) --- .github/workflows/sub-build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sub-build-windows.yml b/.github/workflows/sub-build-windows.yml index d0f1d103..6a61a895 100644 --- a/.github/workflows/sub-build-windows.yml +++ b/.github/workflows/sub-build-windows.yml @@ -178,7 +178,7 @@ jobs: --out Templates/${{ env.choco_dir }}/ ` Templates/${{ env.choco_dir }}/${{ env.app_name }}.nuspec mv ` - .\Templates\${{ env.choco_dir }}\${{ env.nupkg }}*.nupkg ` + .\Templates\${{ env.choco_dir }}\${{ env.nupkg }} ` .\Templates\${{ env.choco_dir }}\${{ env.app_name }}-Choco.nupkg - name: Upload choco package