From 086e9ee8df07f6e548ac7db59cb30cb71183f284 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 16:04:59 +0000 Subject: [PATCH 01/19] Improve CI test signing & test squirrel & msi packages Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/SSLcom-sandbox.crt | 35 +++++++++++++++++++++++++++ .github/workflows/build_and_test.yaml | 17 ++++++++++--- .github/workflows/build_linux.yaml | 7 ++++++ .github/workflows/build_macos.yaml | 5 ++++ .github/workflows/build_windows.yaml | 20 ++++++++++++++- 5 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 .github/SSLcom-sandbox.crt diff --git a/.github/SSLcom-sandbox.crt b/.github/SSLcom-sandbox.crt new file mode 100644 index 00000000..84a7d867 --- /dev/null +++ b/.github/SSLcom-sandbox.crt @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGBzCCA++gAwIBAgIIaI6ivggL++4wDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMUUwQwYDVQQDDDxTU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyIC0gRGV2ZWxvcG1lbnQwHhcNMTgw +MTE2MTIxNjM2WhcNNDMwMTE1MTIxNjM2WjCBkDELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9y +YXRpb24xRTBDBgNVBAMMPFNTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eSBSU0EgUjIgLSBEZXZlbG9wbWVudDCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAK/qcD65JCkueKp0+KXG2kAw8euDHuraLR3lJoUFz4ilGK1M +t+RjSuY6dHQw8ku7TnW9ejWoSFjCBSDx7tP/fzOwOxmBW6+F1NDuV/IaUtn3G2lk +CZglVk9z3n1HuWDN10xNiLoo5nzeIlvNAoDbXDGhI4Y6Z0qouAIS607JpJMWHOqZ +OUiiOuM11gI5Kz9GtVttXCjRmwlkU8WiJVIUuVedQAQt2FChrzNQewGFFi0uIau/ +wFRclx6hd4JRIImC6VMJd9lcitWsqMcM94pD3fX2ozNgWX+MVlmcDYFSN9Sv8tG4 +yCj4ONS8HZGzbxeyQXJhEJSi2FnBi0j6MD/d4DNFj0hCg9wz3fgVLDGCO0pNMO0Y +oXdrzfoj1/zEv0Ibgh7zKG2JHkPfapn3ExFI5d6xi66u5tPVI8cvLxqrgybRPs7Z +y1dQA7ew3LyTPAHoGtbTMvewtx1TkTtRxxhRRm0l58owqSVbSYrixFtosNobCERo +uiknaQqoY1ZDsdKsaqFoZDbntNRYhN3Ea4OPWVqDUU5ZPz9MTIRAi3MIq854yyQo +BjX9nv+kYa+Esr19pxUW0z7BWFhbXsMVpt0QMVyhwgzXvEreaZHFwHHaGb9d5x5P +VBDhsigMmtzBk9NlbCsy+uGXWHgZA/DVefueEq0sv38VoU30uYa5Tj0FLm09AgMB +AAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUI9PCucv3G9fRoTDu +ZQ4Hw6g4PkIwHQYDVR0OBBYEFCPTwrnL9xvX0aEw7mUOB8OoOD5CMA4GA1UdDwEB +/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAk43CCrC0Zbvi7YUsSePKi+KzvyQ9 +mjKa5NBU/A5/sLeZS3R+wqCX7l5euYVDsUuNgNVD/QL9jNIonuHBrvKaxkmqxE1r +IcDEaUdjy2lQ0uqD7UDoS3ctrjGkPpUahrTdr3gaKcQBtUhn9v4Y2OBm6J1hDVwI +CIKcxIzRv6AUpApOtk+++m5tzDU48t8+GzrVl1hkspSYcumA+zuHllbPDL1ADdo5 +kK/bBQtZrGqzPqKzeqaB1A5Wm0Igwf++7nyzdKNdjxtv907D9vg8EB4Swavuv/Ne +5/jbpI32pz0NIzzSl5ARAHuFhILsO/cEAlloDoTHzibHqFDIeU9/59HMUsJYMOtD +Ii0/LmQ6dBE4TeukCCLJwtkFYZ2eBgDjF/LHBB+z/UBs4milRgwx+Pe5UDUEjtGe +G/XMVnTSKZTy9jMaXJD5EmfP+Cfh8EEgFgjg4AmLUbEo9gXzPxyXSLgd8JGSsjg8 +EV/Ri4Mmmt4XUwlSVvEOezxxDGd17gwbottCIC+rqPHonHkGmKpLMH80Bk0uOOCs +ui1oVwSifMyIcudgCcOfRLUf/f2j2NW7N7E7Vw/Zqfn+pqp/EG0KCqOM2vfJAc0s +u3rSrOJZGtB6txgtmTjoadxApWf4U/FCi3uArt6gS5MJqZjuiRNXs/K3SlSAqLGl +5UiG52ew+VdBHzE= +-----END CERTIFICATE----- diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index c0874163..469bd918 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -82,14 +82,25 @@ jobs: artifact: linux-arm64-sqlcipher-static executable: "/opt/Element/element-desktop" prepare_cmd: "sudo apt-get -qq update && sudo apt install -y ./dist/*.deb" - - name: Windows (x86) + - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 executable: "./dist/win-ia32-unpacked/Element.exe" - - name: Windows (x64) + - name: Windows (x86) MSI + os: windows-2022 + artifact: win-ia32 + executable: "C:/Program Files (x86)/Element/Element*.exe" + prepare_cmd: "msiexec ./dist/Element*.msi" + - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 - executable: "./dist/win-unpacked/Element.exe" + executable: "%LOCALAPPDATA%/element-desktop*/Element.exe" + prepare_cmd: "./dist/squirrel-windows*/Element Setup*.exe" + - name: Windows (x64) MSI + os: windows-2022 + artifact: win-x64 + executable: "C:/Program Files/Element/Element*.exe" + prepare_cmd: "msiexec ./dist/Element*.msi" name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/build_linux.yaml b/.github/workflows/build_linux.yaml index 51e99d88..62f1f137 100644 --- a/.github/workflows/build_linux.yaml +++ b/.github/workflows/build_linux.yaml @@ -182,3 +182,10 @@ jobs: dist !dist/*-unpacked/** retention-days: 1 + + - name: Assert all required files are present + run: | + test -f ./dist/element-desktop*$ARCH.deb + test -f ./dist/element-desktop*.tar.gz + env: + ARCH: ${{ inputs.arch }} diff --git a/.github/workflows/build_macos.yaml b/.github/workflows/build_macos.yaml index b1b423eb..5035aae0 100644 --- a/.github/workflows/build_macos.yaml +++ b/.github/workflows/build_macos.yaml @@ -143,3 +143,8 @@ jobs: dist !dist/mac-universal/** retention-days: 1 + + - name: Assert all required files are present + run: | + test -f ./dist/Element*.dmg + test -f ./dist/Element*-mac.zip diff --git a/.github/workflows/build_windows.yaml b/.github/workflows/build_windows.yaml index 1802beff..54149fcc 100644 --- a/.github/workflows/build_windows.yaml +++ b/.github/workflows/build_windows.yaml @@ -174,10 +174,20 @@ jobs: run: | yarn electron-builder --publish never -w ${{ steps.config.outputs.build-args }} + - name: Trust eSigner sandbox cert + if: inputs.sign == '' + run: | + Set-StrictMode -Version 'Latest' + Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath .github/SSLcom-sandbox.crt + - name: Check app was signed successfully if: inputs.sign run: | - . "$env:SIGNTOOL_PATH" verify /pa (get-item ./dist/squirrel-windows*/*.exe) + Set-StrictMode -Version 'Latest' + Get-ChildItem ` + -Recurse dist ` + -Include *.exe, *.msi ` + | ForEach-Object -Process {. 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool.exe' verify /pa $_.FullName; if(!$?) { throw }} - name: Upload Artifacts uses: actions/upload-artifact@v4 @@ -186,3 +196,11 @@ jobs: path: | dist retention-days: 1 + + - name: Assert all required files are present + run: | + Test-Path './dist/win-*unpacked/Element*.exe' + Test-Path './dist/squirrel-windows*/Element Setup*.exe' + Test-Path './dist/squirrel-windows*/element-desktop-*-full.nupkg' + Test-Path './dist/squirrel-windows*/RELEASES' + Test-Path './dist/Element*.msi' From 75d8b7316e5584e05325feabe9b859a934e17ab9 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 16:16:56 +0000 Subject: [PATCH 02/19] Handle spaces in executable path Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 469bd918..a514e999 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -126,7 +126,7 @@ jobs: # We previously disabled the `EnableNodeCliInspectArguments` fuse, but Playwright requires # it to be enabled to test Electron apps, so turn it back on. - name: Set EnableNodeCliInspectArguments fuse enabled - run: $RUN_AS npx @electron/fuses write --app ${{ matrix.executable }} EnableNodeCliInspectArguments=on + run: $RUN_AS npx @electron/fuses write --app "${{ matrix.executable }}" EnableNodeCliInspectArguments=on shell: bash env: # We need sudo on Linux as it is installed in /opt/ From def225bc8203010577bcdb0f70c2abec3c942b60 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 16:46:11 +0000 Subject: [PATCH 03/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index a514e999..549045f0 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -89,7 +89,7 @@ jobs: - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 - executable: "C:/Program Files (x86)/Element/Element*.exe" + executable: "C:/Program Files/Element/Element*.exe" prepare_cmd: "msiexec ./dist/Element*.msi" - name: Windows (x64) Squirrel os: windows-2022 From ccc80b9bbfbd6bf64bd85e9a46b21f83a7ba1a5c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 17:05:10 +0000 Subject: [PATCH 04/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 549045f0..f15e0cf5 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -120,7 +120,7 @@ jobs: path: dist - name: Prepare for tests - run: ${{ matrix.prepare_cmd }} + run: . "${{ matrix.prepare_cmd }}" if: matrix.prepare_cmd # We previously disabled the `EnableNodeCliInspectArguments` fuse, but Playwright requires From 0e1c861a2535f435a5f62e8ec41ba442460a14c4 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 17:18:24 +0000 Subject: [PATCH 05/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index f15e0cf5..21f3ec6e 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -50,6 +50,7 @@ jobs: - linux - windows strategy: + fail-fast: false matrix: include: - name: macOS Universal @@ -85,17 +86,18 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "./dist/win-ia32-unpacked/Element.exe" + executable: "%LOCALAPPDATA%/element-desktop*/Element.exe" + prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 - executable: "C:/Program Files/Element/Element*.exe" + executable: "C:/Program Files (x86)/Element/Element*.exe" prepare_cmd: "msiexec ./dist/Element*.msi" - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 executable: "%LOCALAPPDATA%/element-desktop*/Element.exe" - prepare_cmd: "./dist/squirrel-windows*/Element Setup*.exe" + prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 @@ -120,7 +122,7 @@ jobs: path: dist - name: Prepare for tests - run: . "${{ matrix.prepare_cmd }}" + run: ${{ matrix.prepare_cmd }} if: matrix.prepare_cmd # We previously disabled the `EnableNodeCliInspectArguments` fuse, but Playwright requires From 343bfe2d52eea7117ace4c3fb0923f5062cf4f44 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 17:35:02 +0000 Subject: [PATCH 06/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 21f3ec6e..2a372946 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -86,22 +86,22 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "%LOCALAPPDATA%/element-desktop*/Element.exe" + executable: "$env:LOCALAPPDATA/element-desktop*/Element.exe" prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 - executable: "C:/Program Files (x86)/Element/Element*.exe" + executable: "C:/Program Files (x86)/Element*/Element*.exe" prepare_cmd: "msiexec ./dist/Element*.msi" - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 - executable: "%LOCALAPPDATA%/element-desktop*/Element.exe" + executable: "$env:LOCALAPPDATA/element-desktop*/Element.exe" prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 - executable: "C:/Program Files/Element/Element*.exe" + executable: "C:/Program Files/Element*/Element*.exe" prepare_cmd: "msiexec ./dist/Element*.msi" name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} From 3b0729451b1483eac32cfbe56bb73d1114c8615b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 13 Feb 2025 17:58:30 +0000 Subject: [PATCH 07/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 2a372946..b281148d 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -86,23 +86,23 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "$env:LOCALAPPDATA/element-desktop*/Element.exe" + executable: "$LOCALAPPDATA/element-desktop*/Element.exe" prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 executable: "C:/Program Files (x86)/Element*/Element*.exe" - prepare_cmd: "msiexec ./dist/Element*.msi" + prepare_cmd: "start /wait msiexec -i ./dist/Element*.msi" - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 - executable: "$env:LOCALAPPDATA/element-desktop*/Element.exe" + executable: "$LOCALAPPDATA/element-desktop*/Element.exe" prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 executable: "C:/Program Files/Element*/Element*.exe" - prepare_cmd: "msiexec ./dist/Element*.msi" + prepare_cmd: "start /wait msiexec -i ./dist/Element*.msi" name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: From bccc2dbbc83b9b4279857bbdfce52d7b42e5aae2 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 09:35:43 +0000 Subject: [PATCH 08/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index b281148d..e7104aef 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -87,22 +87,22 @@ jobs: os: windows-2022 artifact: win-ia32 executable: "$LOCALAPPDATA/element-desktop*/Element.exe" - prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" + prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name setup' - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 executable: "C:/Program Files (x86)/Element*/Element*.exe" - prepare_cmd: "start /wait msiexec -i ./dist/Element*.msi" + prepare_cmd: 'Start-Process msiexec "/i ./dist/Element*.msi /qn"' - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 executable: "$LOCALAPPDATA/element-desktop*/Element.exe" - prepare_cmd: ". './dist/squirrel-windows*/Element Setup*.exe'" + prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name setup' - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 executable: "C:/Program Files/Element*/Element*.exe" - prepare_cmd: "start /wait msiexec -i ./dist/Element*.msi" + prepare_cmd: 'Start-Process msiexec "/i ./dist/Element*.msi /qn"' name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: From 8b515d0478ca49fabb65e0d446dbf3e84804788f Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 10:06:43 +0000 Subject: [PATCH 09/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index e7104aef..a3e09f74 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -87,21 +87,22 @@ jobs: os: windows-2022 artifact: win-ia32 executable: "$LOCALAPPDATA/element-desktop*/Element.exe" - prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name setup' + prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Start-Sleep -Seconds 15' - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 - executable: "C:/Program Files (x86)/Element*/Element*.exe" + executable: "C:/Program File*/Elemen*/Element.exe" + # executable: "C:/Program Files (x86)/Element*/Element*.exe" prepare_cmd: 'Start-Process msiexec "/i ./dist/Element*.msi /qn"' - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 executable: "$LOCALAPPDATA/element-desktop*/Element.exe" - prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name setup' + prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name Setup' - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 - executable: "C:/Program Files/Element*/Element*.exe" + executable: "C:/Program File*/Elemen*/Element.exe" prepare_cmd: 'Start-Process msiexec "/i ./dist/Element*.msi /qn"' name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} From 4b80d90f04ae3a70edd6055f19b40cd4471dc235 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 10:38:04 +0000 Subject: [PATCH 10/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index a3e09f74..4ffa34ed 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -86,24 +86,29 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "$LOCALAPPDATA/element-desktop*/Element.exe" - prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Start-Sleep -Seconds 15' + executable: "$LOCALAPPDATA/element-desktop/Element.exe" + prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Start-Sleep -Seconds 30' - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 - executable: "C:/Program File*/Elemen*/Element.exe" - # executable: "C:/Program Files (x86)/Element*/Element*.exe" - prepare_cmd: 'Start-Process msiexec "/i ./dist/Element*.msi /qn"' + executable: "C:/Program Files (x86)/Element/Element.exe" + prepare_cmd: | + $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName + $procMain = Start-Process "msiexec" "/i `"$file`" /qn /l*! `"$log`"" -NoNewWindow -PassThru + $procMain.WaitForExit() - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 - executable: "$LOCALAPPDATA/element-desktop*/Element.exe" - prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name Setup' + executable: "$LOCALAPPDATA/element-desktop/Element.exe" + prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name setup' - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 - executable: "C:/Program File*/Elemen*/Element.exe" - prepare_cmd: 'Start-Process msiexec "/i ./dist/Element*.msi /qn"' + executable: "C:/Program Files/Element/Element.exe" + prepare_cmd: | + $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName + $procMain = Start-Process "msiexec" "/i `"$file`" /qn /l*! `"$log`"" -NoNewWindow -PassThru + $procMain.WaitForExit() name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: From 21084af22fdfa8476dc32c46bf6436b4ad8fd435 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 11:01:58 +0000 Subject: [PATCH 11/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 4ffa34ed..d234dbf7 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -86,29 +86,31 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "$LOCALAPPDATA/element-desktop/Element.exe" - prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Start-Sleep -Seconds 30' + executable: "$LOCALAPPDATA/element-desktop/app-*/Element.exe" + prepare_cmd: | + . "./dist/squirrel-windows*/Element Setup*.exe" + Start-Sleep -Seconds 30 - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 executable: "C:/Program Files (x86)/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - $procMain = Start-Process "msiexec" "/i `"$file`" /qn /l*! `"$log`"" -NoNewWindow -PassThru - $procMain.WaitForExit() + Start-Process $file -ArgumentList '/quiet' -Wait - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 - executable: "$LOCALAPPDATA/element-desktop/Element.exe" - prepare_cmd: '. "./dist/squirrel-windows*/Element Setup*.exe"; Wait-Process -Name setup' + executable: "$LOCALAPPDATA/element-desktop/app-*/Element.exe" + prepare_cmd: | + . "./dist/squirrel-windows*/Element Setup*.exe" + Start-Sleep -Seconds 30 - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 executable: "C:/Program Files/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - $procMain = Start-Process "msiexec" "/i `"$file`" /qn /l*! `"$log`"" -NoNewWindow -PassThru - $procMain.WaitForExit() + Start-Process $file -ArgumentList '/quiet' -Wait name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: From 360bda6d4fb85565037b6c10e22c8258bb7c6b28 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 11:21:01 +0000 Subject: [PATCH 12/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index d234dbf7..2bb0a740 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -86,7 +86,7 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "$LOCALAPPDATA/element-desktop/app-*/Element.exe" + executable: "$LOCALAPPDATA/element-desktop/app-1.11.92/Element.exe" prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" Start-Sleep -Seconds 30 @@ -100,7 +100,7 @@ jobs: - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 - executable: "$LOCALAPPDATA/element-desktop/app-*/Element.exe" + executable: "$LOCALAPPDATA/element-desktop/app-1.11.92/Element.exe" prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" Start-Sleep -Seconds 30 @@ -136,17 +136,8 @@ jobs: # We previously disabled the `EnableNodeCliInspectArguments` fuse, but Playwright requires # it to be enabled to test Electron apps, so turn it back on. - name: Set EnableNodeCliInspectArguments fuse enabled - run: $RUN_AS npx @electron/fuses write --app "${{ matrix.executable }}" EnableNodeCliInspectArguments=on + run: sudo npx @electron/fuses write --app "${{ matrix.executable }}" EnableNodeCliInspectArguments=on shell: bash - env: - # We need sudo on Linux as it is installed in /opt/ - RUN_AS: ${{ runner.os == 'Linux' && 'sudo' || '' }} - - - name: Workaround macOS GHA permission issues - if: runner.os == 'macOS' - run: | - sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);" - sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/opt/off/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);" - name: Run tests uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a From 32d67a443d520a765569baaaf1886d6f7390ff54 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 11:53:46 +0000 Subject: [PATCH 13/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 2bb0a740..fd11a6b0 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -93,10 +93,11 @@ jobs: - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 - executable: "C:/Program Files (x86)/Element/Element.exe" + # We avoid installing to Program Files as then we lack privileges to modify fuses for Playwright testing + executable: "${{ env.RUNNER_TEMP }}/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList '/quiet' -Wait + Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="${{ env.RUNNER_TEMP }}/Element"' -Wait - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 @@ -107,10 +108,11 @@ jobs: - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 - executable: "C:/Program Files/Element/Element.exe" + # We avoid installing to Program Files as then we lack privileges to modify fuses for Playwright testing + executable: "${{ env.RUNNER_TEMP }}/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList '/quiet' -Wait + Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="${{ env.RUNNER_TEMP }}/Element"' -Wait name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: @@ -136,8 +138,11 @@ jobs: # We previously disabled the `EnableNodeCliInspectArguments` fuse, but Playwright requires # it to be enabled to test Electron apps, so turn it back on. - name: Set EnableNodeCliInspectArguments fuse enabled - run: sudo npx @electron/fuses write --app "${{ matrix.executable }}" EnableNodeCliInspectArguments=on + run: $RUN_AS npx @electron/fuses write --app ${{ matrix.executable }} EnableNodeCliInspectArguments=on shell: bash + env: + # We need sudo on Linux as it is installed in /opt/ + RUN_AS: ${{ runner.os == 'Linux' && 'sudo' || '' }} - name: Run tests uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a From 9885cab70a816463c2e9931947f8bb54af3b836c Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 11:56:18 +0000 Subject: [PATCH 14/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index fd11a6b0..40763e28 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -94,10 +94,10 @@ jobs: os: windows-2022 artifact: win-ia32 # We avoid installing to Program Files as then we lack privileges to modify fuses for Playwright testing - executable: "${{ env.RUNNER_TEMP }}/Element/Element.exe" + executable: "$RUNNER_TEMP/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="${{ env.RUNNER_TEMP }}/Element"' -Wait + Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 @@ -109,10 +109,10 @@ jobs: os: windows-2022 artifact: win-x64 # We avoid installing to Program Files as then we lack privileges to modify fuses for Playwright testing - executable: "${{ env.RUNNER_TEMP }}/Element/Element.exe" + executable: "$RUNNER_TEMP/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="${{ env.RUNNER_TEMP }}/Element"' -Wait + Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="$env:RUNNER_TEMP/Element"' -Wait name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: From bb406a8173c9588cf163ffb88b84fe63a5fe8f47 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 16:10:05 +0000 Subject: [PATCH 15/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 40763e28..8bcd3828 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -105,6 +105,8 @@ jobs: prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" Start-Sleep -Seconds 30 + ls $env:LOCALAPPDATA + ls $env:LOCALAPPDATA/element-desktop - name: Windows (x64) MSI os: windows-2022 artifact: win-x64 @@ -113,6 +115,11 @@ jobs: prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="$env:RUNNER_TEMP/Element"' -Wait + ls $env:RUNNER_TEMP + ls $env:RUNNER_TEMP/Element + Start-Sleep -Seconds 30 + ls $env:RUNNER_TEMP + ls $env:RUNNER_TEMP/Element name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: From 14888c43e4eb38eb0438964df68cc0c179f35a9d Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 16:28:37 +0000 Subject: [PATCH 16/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index 8bcd3828..c0744d12 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -86,7 +86,7 @@ jobs: - name: Windows (x86) Squirrel os: windows-2022 artifact: win-ia32 - executable: "$LOCALAPPDATA/element-desktop/app-1.11.92/Element.exe" + executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" Start-Sleep -Seconds 30 @@ -99,9 +99,9 @@ jobs: $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait - name: Windows (x64) Squirrel - os: windows-2022 + os: windows-2022 ≥0∫≤1 artifact: win-x64 - executable: "$LOCALAPPDATA/element-desktop/app-1.11.92/Element.exe" + executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" Start-Sleep -Seconds 30 @@ -114,7 +114,7 @@ jobs: executable: "$RUNNER_TEMP/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList '/quiet APPLICATIONFOLDER="$env:RUNNER_TEMP/Element"' -Wait + Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait ls $env:RUNNER_TEMP ls $env:RUNNER_TEMP/Element Start-Sleep -Seconds 30 From b52bd45a5dc4360eb775d0a3263da784c3663c72 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 21:03:17 +0000 Subject: [PATCH 17/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index c0744d12..b305df28 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -89,7 +89,7 @@ jobs: executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" - Start-Sleep -Seconds 30 + Start-Sleep -Seconds 60 - name: Windows (x86) MSI os: windows-2022 artifact: win-ia32 @@ -99,12 +99,12 @@ jobs: $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait - name: Windows (x64) Squirrel - os: windows-2022 ≥0∫≤1 + os: windows-2022 artifact: win-x64 executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" prepare_cmd: | . "./dist/squirrel-windows*/Element Setup*.exe" - Start-Sleep -Seconds 30 + Start-Sleep -Seconds 60 ls $env:LOCALAPPDATA ls $env:LOCALAPPDATA/element-desktop - name: Windows (x64) MSI @@ -116,8 +116,7 @@ jobs: $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait ls $env:RUNNER_TEMP - ls $env:RUNNER_TEMP/Element - Start-Sleep -Seconds 30 + Start-Sleep -Seconds 60 ls $env:RUNNER_TEMP ls $env:RUNNER_TEMP/Element name: Test ${{ matrix.name }} From beb9b2671bbf5c6e00c34e0d7503d6afad2b140a Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 17 Feb 2025 23:13:56 +0000 Subject: [PATCH 18/19] Iterate Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index b305df28..e00b87f2 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -88,7 +88,7 @@ jobs: artifact: win-ia32 executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" prepare_cmd: | - . "./dist/squirrel-windows*/Element Setup*.exe" + & "./dist/squirrel-windows-ia32/Element Setup*.exe" --silent Start-Sleep -Seconds 60 - name: Windows (x86) MSI os: windows-2022 @@ -97,13 +97,13 @@ jobs: executable: "$RUNNER_TEMP/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait + Start-Process $file -ArgumentList "/quiet" -Wait - name: Windows (x64) Squirrel os: windows-2022 artifact: win-x64 executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" prepare_cmd: | - . "./dist/squirrel-windows*/Element Setup*.exe" + & "./dist/squirrel-windows/Element Setup*.exe" --silent Start-Sleep -Seconds 60 ls $env:LOCALAPPDATA ls $env:LOCALAPPDATA/element-desktop @@ -114,6 +114,7 @@ jobs: executable: "$RUNNER_TEMP/Element/Element.exe" prepare_cmd: | $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName + echo $file Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait ls $env:RUNNER_TEMP Start-Sleep -Seconds 60 From 2b88c345a73f232db9d45800e5c7b74bfc7a3421 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Tue, 18 Feb 2025 09:41:45 +0000 Subject: [PATCH 19/19] Simplify Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build_and_test.yaml | 38 +++------------------------ 1 file changed, 4 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build_and_test.yaml b/.github/workflows/build_and_test.yaml index e00b87f2..3f4710b8 100644 --- a/.github/workflows/build_and_test.yaml +++ b/.github/workflows/build_and_test.yaml @@ -50,7 +50,6 @@ jobs: - linux - windows strategy: - fail-fast: false matrix: include: - name: macOS Universal @@ -83,43 +82,14 @@ jobs: artifact: linux-arm64-sqlcipher-static executable: "/opt/Element/element-desktop" prepare_cmd: "sudo apt-get -qq update && sudo apt install -y ./dist/*.deb" - - name: Windows (x86) Squirrel + - name: Windows (x86) os: windows-2022 artifact: win-ia32 - executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" - prepare_cmd: | - & "./dist/squirrel-windows-ia32/Element Setup*.exe" --silent - Start-Sleep -Seconds 60 - - name: Windows (x86) MSI - os: windows-2022 - artifact: win-ia32 - # We avoid installing to Program Files as then we lack privileges to modify fuses for Playwright testing - executable: "$RUNNER_TEMP/Element/Element.exe" - prepare_cmd: | - $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - Start-Process $file -ArgumentList "/quiet" -Wait - - name: Windows (x64) Squirrel + executable: "./dist/win-ia32-unpacked/Element.exe" + - name: Windows (x64) os: windows-2022 artifact: win-x64 - executable: "$LOCALAPPDATA/element-desktop/app-1.11.91/Element.exe" - prepare_cmd: | - & "./dist/squirrel-windows/Element Setup*.exe" --silent - Start-Sleep -Seconds 60 - ls $env:LOCALAPPDATA - ls $env:LOCALAPPDATA/element-desktop - - name: Windows (x64) MSI - os: windows-2022 - artifact: win-x64 - # We avoid installing to Program Files as then we lack privileges to modify fuses for Playwright testing - executable: "$RUNNER_TEMP/Element/Element.exe" - prepare_cmd: | - $file = Get-Item ./dist/*.msi | Select -First 1 -ExpandProperty FullName - echo $file - Start-Process $file -ArgumentList "/quiet APPLICATIONFOLDER=$env:RUNNER_TEMP/Element" -Wait - ls $env:RUNNER_TEMP - Start-Sleep -Seconds 60 - ls $env:RUNNER_TEMP - ls $env:RUNNER_TEMP/Element + executable: "./dist/win-unpacked/Element.exe" name: Test ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: