Skip to content

Commit 46d4734

Browse files
committed
Initial commit - 3.0.5
0 parents  commit 46d4734

File tree

203 files changed

+22944
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

203 files changed

+22944
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: bug
6+
assignees: RedEpicness
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Additional context**
27+
Add any other context about the problem here.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Essential Installer Support
4+
url: https://discord.gg/essential
5+
about: Contact our support team on our discord.
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
name: Build & Release
2+
3+
on:
4+
push:
5+
tags:
6+
- '*.*.*'
7+
8+
jobs:
9+
build:
10+
name: "Build"
11+
uses: ./.github/workflows/build-workflow.yml
12+
secrets: inherit
13+
sign-macos:
14+
name: Sign & Notarize macOS app
15+
runs-on: macos-latest
16+
needs: build
17+
steps:
18+
- uses: actions/checkout@v4
19+
- uses: actions/download-artifact@v4
20+
with:
21+
name: macOS Installer (Unsigned)
22+
path: scripts
23+
- name: List
24+
run: ls
25+
working-directory: scripts
26+
- name: Install the Apple certificate and provisioning profile
27+
env:
28+
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
29+
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
30+
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
31+
run: |
32+
# create variables
33+
CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12
34+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
35+
36+
# import certificate from secret
37+
echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH
38+
39+
# create temporary keychain
40+
security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
41+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
42+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
43+
44+
# import certificate to keychain
45+
security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
46+
security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
47+
security list-keychain -d user -s $KEYCHAIN_PATH
48+
- name: Sign the .app
49+
env:
50+
IDENTITY: ${{ secrets.IDENTITY }} # "identity"
51+
USERNAME: ${{ secrets.USERNAME }} # "apple-id email"
52+
PASSWORD: ${{ secrets.PASSWORD }} # "apple-id app specific password (go to https://appleid.apple.com./)"
53+
TEAM_ID: ${{ secrets.TEAM_ID }} # "developer team id"
54+
VERSION: ${{ github.ref_name }} # "1.0.0"
55+
run: |
56+
chmod +x ./sign-macos-app.sh
57+
./sign-macos-app.sh
58+
working-directory: scripts
59+
- name: 'Upload Signed App'
60+
uses: actions/upload-artifact@v4
61+
with:
62+
name: macOS Installer
63+
path: scripts/*.app.zip
64+
sign-windows:
65+
name: Sign Windows executable
66+
runs-on: windows-latest
67+
needs: build
68+
steps:
69+
- uses: actions/checkout@v4
70+
71+
- name: Create Temp Directory
72+
run: mkdir dist
73+
shell: cmd
74+
- uses: actions/download-artifact@v4
75+
with:
76+
name: Windows Installer (Unsigned)
77+
path: dist
78+
- name: List
79+
run: |
80+
dir
81+
echo %cd%
82+
shell: cmd
83+
working-directory: dist
84+
85+
- name: Setup Certificate
86+
run: |
87+
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12
88+
shell: bash
89+
90+
- name: Set variables
91+
id: variables
92+
run: |
93+
dir
94+
echo "::set-output name=version::${GITHUB_REF#refs/tags/v}"
95+
echo "::set-output name=KEYPAIR_NAME::gt-standard-keypair"
96+
echo "::set-output name=CERTIFICATE_NAME::gt-certificate"
97+
echo "SM_HOST=${{ secrets.SM_HOST }}" >> "$GITHUB_ENV"
98+
echo "SM_API_KEY=${{ secrets.SM_API_KEY }}" >> "$GITHUB_ENV"
99+
echo "SM_CLIENT_CERT_FILE=D:\\Certificate_pkcs12.p12" >> "$GITHUB_ENV"
100+
echo "SM_CLIENT_CERT_PASSWORD=${{ secrets.SM_CLIENT_CERT_PASSWORD }}" >> "$GITHUB_ENV"
101+
echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH
102+
echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH
103+
echo "C:\Program Files\DigiCert\DigiCert Keylocker Tools" >> $GITHUB_PATH
104+
shell: bash
105+
106+
- name: Setup Keylocker KSP on windows
107+
run: |
108+
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:%SM_API_KEY%" -o Keylockertools-windows-x64.msi
109+
msiexec /i Keylockertools-windows-x64.msi /quiet /qn
110+
smksp_registrar.exe list
111+
smctl.exe keypair ls
112+
C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
113+
shell: cmd
114+
115+
- name: Certificates Sync
116+
run: |
117+
smctl windows certsync
118+
shell: cmd
119+
120+
- name: Signing using Signtool
121+
run: |
122+
signtool.exe sign /sha1 ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 installer-wrapper.exe
123+
signtool.exe verify /v /pa installer-wrapper.exe
124+
working-directory: dist
125+
- name: Rename executable
126+
env:
127+
VERSION: ${{ github.ref_name }}
128+
run: |
129+
BRAND_LOWERCASE=$(cat ../wrapper/resources/info/brand.txt | tr '[:upper:]' '[:lower:]')
130+
echo "Renaming to $BRAND_LOWERCASE-installer-$VERSION.exe"
131+
mv installer-wrapper.exe "$BRAND_LOWERCASE-installer-$VERSION.exe"
132+
shell: bash
133+
working-directory: dist
134+
135+
- name: 'Upload Signed Executable'
136+
uses: actions/upload-artifact@v4
137+
with:
138+
name: Windows Installer
139+
path: dist/*.exe
140+
release:
141+
name: Release
142+
runs-on: ubuntu-latest
143+
needs:
144+
- sign-macos
145+
- sign-windows
146+
steps:
147+
- uses: actions/checkout@v4
148+
- uses: actions/download-artifact@v4
149+
with:
150+
name: Windows Installer
151+
path: scripts
152+
- uses: actions/download-artifact@v4
153+
with:
154+
name: macOS Installer
155+
path: scripts
156+
- name: Release
157+
env:
158+
VERSION: ${{ github.ref_name }}
159+
RELEASE_USER: ${{ secrets.RELEASE_USER }}
160+
RELEASE_PASSWORD: ${{ secrets.RELEASE_PASSWORD }}
161+
run: ./upload-all.sh
162+
working-directory: scripts
163+
164+
165+
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Build old installer uninstaller
2+
3+
on: workflow_dispatch
4+
5+
env:
6+
CARGO_TERM_COLOR: always
7+
8+
jobs:
9+
build-windows:
10+
name: Package Windows executable
11+
runs-on: windows-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Setup stable toolchain
15+
run: rustup toolchain install stable --profile minimal --no-self-update
16+
- name: Rust Cache
17+
uses: Swatinem/rust-cache@v2
18+
with:
19+
workspaces: uninstaller
20+
- name: Build
21+
run: cargo build --release --target x86_64-pc-windows-msvc
22+
working-directory: uninstaller
23+
- name: 'Upload Executable'
24+
uses: actions/upload-artifact@v4
25+
with:
26+
name: Windows Old Installer Uninstaller (Unsigned)
27+
path: uninstaller/target/x86_64-pc-windows-msvc/release/*.exe
28+
sign-windows:
29+
name: Sign Windows executable
30+
runs-on: windows-latest
31+
needs: build-windows
32+
steps:
33+
- uses: actions/checkout@v4
34+
35+
- name: Create Temp Directory
36+
run: mkdir dist
37+
shell: cmd
38+
- uses: actions/download-artifact@v4
39+
with:
40+
name: Windows Old Installer Uninstaller (Unsigned)
41+
path: dist
42+
- name: List
43+
run: |
44+
dir
45+
echo %cd%
46+
shell: cmd
47+
working-directory: dist
48+
49+
- name: Setup Certificate
50+
run: |
51+
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12
52+
shell: bash
53+
54+
- name: Set variables
55+
id: variables
56+
run: |
57+
dir
58+
echo "::set-output name=version::${GITHUB_REF#refs/tags/v}"
59+
echo "::set-output name=KEYPAIR_NAME::gt-standard-keypair"
60+
echo "::set-output name=CERTIFICATE_NAME::gt-certificate"
61+
echo "SM_HOST=${{ secrets.SM_HOST }}" >> "$GITHUB_ENV"
62+
echo "SM_API_KEY=${{ secrets.SM_API_KEY }}" >> "$GITHUB_ENV"
63+
echo "SM_CLIENT_CERT_FILE=D:\\Certificate_pkcs12.p12" >> "$GITHUB_ENV"
64+
echo "SM_CLIENT_CERT_PASSWORD=${{ secrets.SM_CLIENT_CERT_PASSWORD }}" >> "$GITHUB_ENV"
65+
echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH
66+
echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH
67+
echo "C:\Program Files\DigiCert\DigiCert Keylocker Tools" >> $GITHUB_PATH
68+
shell: bash
69+
70+
- name: Setup Keylocker KSP on windows
71+
run: |
72+
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:%SM_API_KEY%" -o Keylockertools-windows-x64.msi
73+
msiexec /i Keylockertools-windows-x64.msi /quiet /qn
74+
smksp_registrar.exe list
75+
smctl.exe keypair ls
76+
C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
77+
shell: cmd
78+
79+
- name: Certificates Sync
80+
run: |
81+
smctl windows certsync
82+
shell: cmd
83+
84+
- name: Signing using Signtool
85+
run: |
86+
signtool.exe sign /sha1 ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 uninstaller.exe
87+
signtool.exe verify /v /pa uninstaller.exe
88+
working-directory: dist
89+
90+
- name: 'Upload Signed Executable'
91+
uses: actions/upload-artifact@v4
92+
with:
93+
name: Windows Old Installer Uninstaller
94+
path: dist/*.exe
95+

0 commit comments

Comments
 (0)