Skip to content

Commit 38ef52c

Browse files
committed
Added win64 debug info build so useful stack traces are generated.
The build archive has been updated to support this however the "Download Simba..." menu will not work until you manually download from https://github.com/Villavu/Simba-Build-Archive
1 parent d54be5b commit 38ef52c

8 files changed

+297
-291
lines changed

.github/workflows/archive.yml

+13-13
Original file line numberDiff line numberDiff line change
@@ -33,33 +33,33 @@ jobs:
3333
console.log('Downloaded: ' + artifact.name);
3434
}
3535
36-
- name: Unzip
37-
shell: bash
38-
run: |
39-
mkdir binaries
40-
unzip '*.zip' -d binaries
41-
4236
- name: Push
4337
shell: bash
4438
run: |
4539
git config --global http.postBuffer 500M
4640
git config --global user.email "villavu-bot"
4741
git config --global user.name "villavu-bot"
48-
git clone https://${{ secrets.API_TOKEN_GITHUB }}@github.com/Villavu/Simba-Build-Archive
42+
git clone https://github.com/Villavu/Simba-Build-Archive
43+
44+
echo "Current repo (uncompressed) size:"
45+
du -sh "Simba-Build-Archive" | awk '{print $1}'
4946
5047
date_year=$(date +"%Y")
5148
date_month_day=$(date +"%m-%d")
5249
5350
branch=${{ github.event.workflow_run.head_branch }}
54-
commit=${{ github.event.workflow_run.head_sha }}
55-
56-
cd Simba-Build-Archive
51+
sha=${{ github.event.workflow_run.head_sha }}
52+
commit=${sha::10}
53+
echo "$date_year/$date_month_day | $branch | [$commit](https://github.com/Villavu/Simba/commit/$commit) | [Win32](/$date_year/$date_month_day%20$branch%20$commit/Win32.zip?raw=true)<br>[Win64](/$date_year/$date_month_day%20$branch%20$commit/Win64.zip?raw=true)<br>[Win64&nbsp;Debug](/$date_year/$date_month_day%20$branch%20$commit/Win64%20DebugInfo.zip?raw=true)<br>[Mac](/$date_year/$date_month_day%20$branch%20$commit/Mac.zip?raw=true)<br>[Mac Arm](/$date_year/$date_month_day%20$branch%20$commit/Mac%20Arm.zip?raw=true)<br>[Linux64](/$date_year/$date_month_day%20$branch%20$commit/Linux64.zip?raw=true)" > row.txt
5754
55+
cd Simba-Build-Archive
5856
mkdir -p "$date_year/$date_month_day $branch $commit"
59-
mv ../binaries/* "$date_year/$date_month_day $branch $commit"
57+
mv ../*.zip "$date_year/$date_month_day $branch $commit"
6058
61-
sed -i "6 i $date_year/$date_month_day | $branch | [$commit](https://github.com/Villavu/Simba/commit/$commit) | [Link](https://github.com/Villavu/Simba-Build-Archive/tree/main/$date_year/$date_month_day%20$branch%20$commit)" README.md
59+
echo "Inserting row:"
60+
cat ../row.txt
61+
sed -i "6r ../row.txt" README.md
6262
6363
git add .
64-
git commit --message "${{ github.event.workflow_run.head_sha }}"
64+
git commit --message "$commit"
6565
git push https://${{ secrets.API_TOKEN_GITHUB }}@github.com/villavu/simba-build-archive

.github/workflows/build.yml

+27-40
Original file line numberDiff line numberDiff line change
@@ -18,44 +18,45 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
config:
22-
- name: Windows 64
21+
config:
22+
# note: names must equal Simba build modes
23+
- name: Win64
2324
runs-on: windows-latest
24-
build-mode: WIN64
2525
binary: Simba-Win64.exe
2626
test: Simba-Win64.exe
27-
28-
- name: Windows 32
27+
28+
- name: Win64 DebugInfo
29+
runs-on: windows-latest
30+
binary: Simba-Win64-Debug.exe
31+
test: Simba-Win64-Debug.exe
32+
33+
- name: Win32
2934
runs-on: windows-latest
30-
build-mode: WIN32
3135
binary: Simba-Win32.exe
3236
test: Simba-Win32.exe
3337

34-
- name: Linux 64
38+
- name: Linux64
3539
runs-on: ubuntu-22.04
36-
build-mode: LINUX64
3740
binary: Simba-Linux64
3841
test: Simba-Linux64
3942

40-
- name: MacOS 64
43+
- name: Mac
4144
runs-on: macos-13
42-
build-mode: MACOS64
43-
binary: Simba-MacOS.dmg
45+
binary: Simba-Mac.dmg
4446
test: Simba
4547

46-
- name: MacOS AArch64
48+
- name: Mac Arm
4749
runs-on: macos-13
48-
build-mode: MACOS-AARCH64
49-
binary: Simba-MacOS-AArch64.dmg
50+
binary: Simba-Mac-Arm.dmg
5051
#test: Simba MatchTemplateMask test fails, investigate later
5152

5253
steps:
53-
- uses: actions/checkout@v4.1.7
54+
- uses: actions/checkout@v4.2.2
5455
with:
5556
submodules: true
5657

57-
- name: Install Lazarus (MacOS)
58-
if: startsWith(matrix.config.name, 'MacOS') == true
58+
- name: Install Lazarus (Mac)
59+
if: startsWith(matrix.config.name, 'Mac') == true
5960
uses: ollydev/setup-lazarus@v3.3
6061
with:
6162
laz-url: https://sourceforge.net/projects/lazarus/files/Lazarus%20macOS%20x86-64/Lazarus%203.6/Lazarus-3.6-macosx-x86_64.pkg
@@ -72,40 +73,26 @@ jobs:
7273
https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%203.6/fpc-laz_3.2.2-210709_amd64.deb
7374
https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%203.6/fpc-src_3.2.2-210709_amd64.deb
7475
75-
- name: Install Lazarus (Windows 32)
76-
if: startsWith(matrix.config.name, 'Windows 32') == true
76+
- name: Install Lazarus (Win32)
77+
if: startsWith(matrix.config.name, 'Win32') == true
7778
uses: ollydev/setup-lazarus@v3.3
7879
with:
7980
laz-url: https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Lazarus%203.6/lazarus-3.6-fpc-3.2.2-win32.exe
8081

81-
- name: Install Lazarus (Windows 64)
82-
if: startsWith(matrix.config.name, 'Windows 64') == true
82+
- name: Install Lazarus (Win64)
83+
if: startsWith(matrix.config.name, 'Win64') == true
8384
uses: ollydev/setup-lazarus@v3.3
8485
with:
8586
laz-url: https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Lazarus%203.6/lazarus-3.6-fpc-3.2.2-win64.exe
8687

8788
- name: Build Simba
8889
run: |
8990
export GITHUB_SHORT_SHA=$(git rev-parse --short HEAD)
90-
lazbuild --build-mode=${{ matrix.config.build-mode }} "Source/Simba.lpi"
91+
lazbuild --build-mode="${{ matrix.config.name }}" "Source/Simba.lpi"
9192
92-
- name: Create MacOS Image
93-
if: startsWith(matrix.config.name, 'MacOS') == true
94-
env:
95-
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
96-
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
97-
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
93+
- name: Create Mac Image
94+
if: startsWith(matrix.config.name, 'Mac') == true
9895
run: |
99-
# echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output certificate.p12
100-
# security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
101-
# security default-keychain -s build.keychain
102-
# security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
103-
# security import certificate.p12 -k build.keychain -P "$P12_PASSWORD" -T /usr/bin/codesign
104-
# security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
105-
106-
# codesign --deep --sign "7ACAD7EE0AA3A0783CE9592567098A3F08FC0B0B" Simba.app
107-
# codesign -v Simba.app
108-
10996
brew install create-dmg
11097
11198
for i in {1..10};
@@ -125,7 +112,7 @@ jobs:
125112
./${{ matrix.config.test }} --run "Tests/RunTests/tester.simba"
126113
127114
- name: Upload Simba Binary
128-
uses: actions/upload-artifact@v4.3.4
115+
uses: actions/upload-artifact@v4.6.1
129116
with:
130-
name: ${{ matrix.config.binary }}
117+
name: ${{ matrix.config.name }}
131118
path: ${{ matrix.config.binary }}

Source/Simba.lpi

+55-22
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
<CharSet Value="04B0"/>
4343
<StringTable FileDescription="https://github.com/Villavu/Simba" OriginalFilename="Simba.exe" ProductName="Simba" ProductVersion="2.0"/>
4444
</VersionInfo>
45-
<BuildModes Count="8">
45+
<BuildModes Count="9">
4646
<Item1 Name="Default" Default="True"/>
47-
<Item2 Name="WIN32">
47+
<Item2 Name="Win32">
4848
<CompilerOptions>
4949
<Version Value="11"/>
5050
<Target>
@@ -94,7 +94,7 @@
9494
</Other>
9595
</CompilerOptions>
9696
</Item2>
97-
<Item3 Name="WIN64">
97+
<Item3 Name="Win64">
9898
<CompilerOptions>
9999
<Version Value="11"/>
100100
<Target>
@@ -144,11 +144,11 @@
144144
</Other>
145145
</CompilerOptions>
146146
</Item3>
147-
<Item4 Name="WIN64-DEBUGINFO">
147+
<Item4 Name="Win64 DebugInfo">
148148
<CompilerOptions>
149149
<Version Value="11"/>
150150
<Target>
151-
<Filename Value="../Simba-Win64"/>
151+
<Filename Value="../Simba-Win64-Debug"/>
152152
</Target>
153153
<SearchPaths>
154154
<IncludeFiles Value="$(ProjOutDir);$(LazarusDir)/components/synedit;../Third-Party/lape"/>
@@ -162,15 +162,13 @@
162162
</SyntaxOptions>
163163
</Parsing>
164164
<CodeGeneration>
165-
<SmartLinkUnit Value="True"/>
166165
<TargetCPU Value="x86_64"/>
167166
<TargetOS Value="win64"/>
168167
</CodeGeneration>
169168
<Linking>
170169
<Debugging>
171170
<DebugInfoType Value="dsDwarf3"/>
172171
</Debugging>
173-
<LinkSmart Value="True"/>
174172
<Options>
175173
<Win32>
176174
<GraphicApplication Value="True"/>
@@ -189,7 +187,7 @@
189187
</Other>
190188
</CompilerOptions>
191189
</Item4>
192-
<Item5 Name="LINUX64">
190+
<Item5 Name="Linux64">
193191
<CompilerOptions>
194192
<Version Value="11"/>
195193
<Target>
@@ -237,7 +235,48 @@
237235
</Other>
238236
</CompilerOptions>
239237
</Item5>
240-
<Item6 Name="LINUX-AARCH64">
238+
<Item6 Name="Linux64 DebugInfo">
239+
<CompilerOptions>
240+
<Version Value="11"/>
241+
<Target>
242+
<Filename Value="../Simba-Linux64-Debug"/>
243+
</Target>
244+
<SearchPaths>
245+
<IncludeFiles Value="$(ProjOutDir);$(LazarusDir)/components/synedit;../Third-Party/lape"/>
246+
<OtherUnitFiles Value="$(ProjPath);../Third-Party;../Third-Party/lape;../Third-Party/lape/extensions/ffi;script/imports;script/imports/lcl;script;ide;ide/codetools"/>
247+
<UnitOutputDirectory Value="$(ProjPath)../build/$(BuildMode)/$(TargetCPU)-$(TargetOS)"/>
248+
</SearchPaths>
249+
<Parsing>
250+
<SyntaxOptions>
251+
<CStyleMacros Value="True"/>
252+
</SyntaxOptions>
253+
</Parsing>
254+
<CodeGeneration>
255+
<TargetCPU Value="x86_64"/>
256+
<TargetOS Value="linux"/>
257+
</CodeGeneration>
258+
<Linking>
259+
<Debugging>
260+
<DebugInfoType Value="dsDwarf3"/>
261+
</Debugging>
262+
<Options>
263+
<Win32>
264+
<GraphicApplication Value="True"/>
265+
</Win32>
266+
</Options>
267+
</Linking>
268+
<Other>
269+
<CompilerMessages>
270+
<IgnoredMessages idx6058="True" idx5094="True" idx5093="True" idx5092="True" idx5091="True" idx5089="True" idx5024="True" idx4105="True" idx4104="True" idx4055="True" idx2054="True" idx2005="True"/>
271+
</CompilerMessages>
272+
<CustomOptions Value="-CfSSE64
273+
-dLape_CDECL
274+
-dLape_NoExtended"/>
275+
<CreateMakefileOnBuild Value="True"/>
276+
</Other>
277+
</CompilerOptions>
278+
</Item6>
279+
<Item7 Name="Linux Arm64">
241280
<CompilerOptions>
242281
<Version Value="11"/>
243282
<Target>
@@ -283,11 +322,8 @@
283322
<CreateMakefileOnBuild Value="True"/>
284323
</Other>
285324
</CompilerOptions>
286-
</Item6>
287-
<Item7 Name="MACOS64">
288-
<MacroValues Count="1">
289-
<Macro1 Name="LCLWidgetType" Value="cocoa"/>
290-
</MacroValues>
325+
</Item7>
326+
<Item8 Name="Mac">
291327
<CompilerOptions>
292328
<Version Value="11"/>
293329
<Target>
@@ -339,11 +375,8 @@
339375
<CreateMakefileOnBuild Value="True"/>
340376
</Other>
341377
</CompilerOptions>
342-
</Item7>
343-
<Item8 Name="MACOS-AARCH64">
344-
<MacroValues Count="1">
345-
<Macro1 Name="LCLWidgetType" Value="cocoa"/>
346-
</MacroValues>
378+
</Item8>
379+
<Item9 Name="Mac Arm">
347380
<CompilerOptions>
348381
<Version Value="11"/>
349382
<Target>
@@ -394,9 +427,9 @@
394427
<CreateMakefileOnBuild Value="True"/>
395428
</Other>
396429
</CompilerOptions>
397-
</Item8>
430+
</Item9>
398431
<SharedMatrixOptions Count="1">
399-
<Item1 ID="760724751738" Modes="MACOS64,MACOS-AARCH64" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
432+
<Item1 ID="760724751738" Type="IDEMacro" MacroName="LCLWidgetType" Value="cocoa"/>
400433
</SharedMatrixOptions>
401434
</BuildModes>
402435
<PublishOptions>
@@ -808,7 +841,7 @@
808841
<CompilerOptions>
809842
<Version Value="11"/>
810843
<Target>
811-
<Filename Value="../Simba-Debug"/>
844+
<Filename Value="../Simba"/>
812845
</Target>
813846
<SearchPaths>
814847
<IncludeFiles Value="$(ProjOutDir);$(LazarusDir)/components/synedit;../Third-Party/lape"/>

Source/Simba.res

-8 Bytes
Binary file not shown.
+5-41
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,12 @@
11
object SimbaDownloadSimbaForm: TSimbaDownloadSimbaForm
2-
Left = 2547
3-
Height = 240
4-
Top = 602
5-
Width = 320
2+
Left = -1105
3+
Height = 192
4+
Top = 418
5+
Width = 256
66
Caption = 'Download Simba'
7-
ClientHeight = 240
8-
ClientWidth = 320
9-
DesignTimePPI = 120
107
OnCreate = FormCreate
11-
OnResize = FormResize
128
OnShow = FormShow
139
Position = poMainFormCenter
1410
ShowInTaskBar = stAlways
15-
LCLVersion = '3.0.0.3'
16-
object Panel1: TPanel
17-
Left = 0
18-
Height = 240
19-
Top = 0
20-
Width = 320
21-
Align = alClient
22-
AutoSize = True
23-
BevelOuter = bvNone
24-
ClientHeight = 240
25-
ClientWidth = 320
26-
TabOrder = 0
27-
object Panel2: TPanel
28-
Left = 5
29-
Height = 0
30-
Top = 235
31-
Width = 310
32-
Align = alBottom
33-
AutoSize = True
34-
BorderSpacing.Around = 5
35-
BevelOuter = bvNone
36-
TabOrder = 0
37-
end
38-
end
39-
object ProgressUpdateTimer: TTimer
40-
Enabled = False
41-
Interval = 500
42-
OnTimer = DoProgressUpdate
43-
OnStartTimer = DoProgressTimerStart
44-
OnStopTimer = DoProgressTimerStop
45-
Left = 104
46-
Top = 59
47-
end
11+
LCLVersion = '3.8.0.0'
4812
end

0 commit comments

Comments
 (0)