-
Notifications
You must be signed in to change notification settings - Fork 15
New GitHub Actions workflow. #245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Fix Windows x86/x64 builds.
@fdcastel You can convert a PR to a draft, then it can't be accidentally merged (see right menu bar, "Convert to draft"). |
I have not looked at the jobs themselves in-depth, as I'm not that well-versed in C++ builds. |
Same here 🤣. That said, I didn’t touch the build scripts, just the YAML workflow. So I doubt I broke anything there. In a past life, I had quite a bit of experience with Inno Setup. I intend to help out on that front soon. |
Great job! I will take a look next week!
сб, 31 мая 2025 г., 22:48 Mark Rotteveel ***@***.***>:
… *mrotteveel* left a comment (FirebirdSQL/firebird-odbc-driver#245)
<#245 (comment)>
I have not looked at the jobs themselves in-depth, as I'm not that
well-versed in C++ builds.
—
Reply to this email directly, view it on GitHub
<#245 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKZQLQ6N7TQIERHM3CEURD3BIBPXAVCNFSM6AAAAAB6KFWROKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMRVGY3DIMZWHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@irodushka Before I can make changes to The file contains some Russian translations, so I want to ensure it's correctly converted to UTF-8 without corrupting the text. In VSCode, when opened with the "Windows 1251" encoding, it displays as: |
Can we remove these old Windows build environments?
Actually, it seems like quite a few files in |
Something seems off with the MSBuild project configuration.
That’s why P.s.: The latest release build shows the same issue. Answering my own question: No. The binaries are actually RELEASE binaries, but they do include debug symbols in separate According to this:
In other words:
|
This is caused by |
What's the point of excluding pdb files from the Release build?.. The package size economy? If we want to reduce the installation packages sizes, it's better to store pdb as a separate artefact for optional download/installation. |
Sorry for the confusion, @irodushka. I reverted this in later commits.
That's exactly what I did 😉 -- I added new packages with the |
Yes, it's correct, win1251. |
Do I understand right that *-debug packages contain Debug build artefacts? Debug dll binary and a corresponding pdb? |
I haven't modified the build scripts. Only the packaging. The output binaries are built exactly as they were before. As far as I understand, the current scripts produce RELEASE binaries (with optimizations). Along with a PDB file to support auxiliary debugging in production. The confusion originated from my incorrect assumption that seeing The only difference between the |
Aaaa!... So the regular (wo suffix) windows package and the -debug package contain the same dll binary - the release one? And the only difference between the normal & debug packages is the pdb file inside? |
Well... and where's my favorite VirusTotal action?..) |
Exactly! 👍🏻
Exactly! 👍🏻
Sorry. Not totally clear on what you mean 😅. But if you can show me a few examples, I’ll tailor it exactly how you want. |
I mean to replace the package suffix _debug with _relwithdebinfo or
_release_with_debuginfo
пн, 2 июн. 2025 г., 19:15 F.D.Castel ***@***.***>:
… *fdcastel* left a comment (FirebirdSQL/firebird-odbc-driver#245)
<#245 (comment)>
So the regular (wo suffix) windows package and the -debug package contain
the same dll binary - the release one?
Exactly! 👍🏻
And the only difference between the normal & debug packages is the pdb
file inside?
Exactly! 👍🏻
Let's use cmake style naming, it has a special build type "RelWithDebInfo"
= release_with_debug_info.
Sorry. Not totally clear on what you mean 😅. But if you can show me a few
examples, I’ll tailor it exactly how you want.
—
Reply to this email directly, view it on GitHub
<#245 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKZQLSL7YMQZ27PCKTW2AL3BR2CXAVCNFSM6AAAAAB6KFWROKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMZRGQ2DGNJQGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
InnoSetup is built with Delphi, which -- for reasons only antivirus developers seem to understand -- tends to attract these kinds of false positives like a magnet. By the way, I'm also planning to replace InnoSetup with WIX, unless anyone has objections. WIX can generate MSI files, which are generally more suitable for enterprise environments. |
I found the improvement a bit subtle, to be honest. 😄 I would lean toward following the approach used by the Firebird Project. At first, |
I know)
Not an objection but a benediction))
пн, 2 июн. 2025 г., 19:24 F.D.Castel ***@***.***>:
… *fdcastel* left a comment (FirebirdSQL/firebird-odbc-driver#245)
<#245 (comment)>
There are sporadic troubles with InnoSetup...
InnoSetup is built with Delphi, which -- for reasons only antivirus
developers seem to understand -- tends to attract these kinds of false
positives like a magnet.
By the way, I'm also planning to replace InnoSetup with WIX
<https://www.firegiant.com/wixtoolset/>, unless anyone has objections.
WIX can generate MSI files, which are generally more suitable for
enterprise environments.
—
Reply to this email directly, view it on GitHub
<#245 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKZQLSLLIU6MWLFF7GVL533BR3EDAVCNFSM6AAAAAB6KFWROKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMZRGQ3TMMBXGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Yes, it' fine for me. |
@irodushka Are there any tests for this project? If so, could you briefly explain how you've been handling them? I had a look at the code, but honestly, I couldn't make much sense of it. |
@irodushka Did you give the ARM64 build a shot? If yes, how did it go? |
For Ubuntu only. Yes, tried the ARM build on Raspberry, and it worked fine.
Last time I looked, there were no Windows ARM runners available on github.
пн, 2 июн. 2025 г., 19:45 F.D.Castel ***@***.***>:
… *fdcastel* left a comment (FirebirdSQL/firebird-odbc-driver#245)
<#245 (comment)>
@irodushka <https://github.com/irodushka> Did you give the ARM64 build a
shot? If yes, how did it go?
—
Reply to this email directly, view it on GitHub
<#245 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKZQLRWSJL2OYBDB323ATL3BR5T5AVCNFSM6AAAAAB6KFWROKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMZRGU2TCOJSHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
🎉 Fantastic news! I'll investigate.
Look again: 😄👀 |
I can explain briefly - no)
When I inherited this code, I also wondered - what about tests?) Nope, the
answer was.
Frankly speaking - I have some tests, it's impossible to maintain such a
... project without them, and it would be a good deal to put them in order
and commit to the repo. Hope I can do this in some future.
пн, 2 июн. 2025 г., 19:41 F.D.Castel ***@***.***>:
… *fdcastel* left a comment (FirebirdSQL/firebird-odbc-driver#245)
<#245 (comment)>
@irodushka <https://github.com/irodushka> Are there any tests for this
project? If so, could you briefly explain how you've been handling them? I
had a look at the code, but honestly, I couldn't make much sense of it.
—
Reply to this email directly, view it on GitHub
<#245 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKZQLXYSDUCEAZAG5XCFFL3BR5ERAVCNFSM6AAAAAB6KFWROKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSMZRGU2DANBZHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I would like to mention that it makes sense to retain the ability to do autobuilds for every commit into the master (not for releases only but for intermediate feature-branches merges). Another interesting question - what happens when some of the builds in the strategy matrix fail? I mean - windows build is ok, linux ok, but ARM fails. Does this mean that the entire build failed? Or can we issue a warning that the build succeeded for some platforms and failed for the others? |
Sure! I was just talking about this with @asfernandes. Take a look at this new workflow proposal I suggested for another project.
Short answer: Yes. The BUILD jobs are marked with However, the RELEASE job requires all dependent jobs to complete successfully; otherwise, the packages will NOT be published.
GitHub will let us know for sure. |
It's okay |
- Adds build.yml (for builds after pushes/PR). - Updates release.yml to run only on official repository. - Updates README.md build status badges.
New commits:
1. Build Workflow (
|
Initial work to solve #231. Based on @asfernandes work on Firebird project. 🚀
GitHub release can be seen here.
v1: Original PR
Changes
release
workflow is now triggered when a tag starting withv
is pushed.pguyot/arm-runner-action
with nativeubuntu-22.04-arm
runnersBuilds/Msvc2019
toBuilds/MsVc2022.win
firebird-odbc-{platform}-{arch}
Advantages over previous pipeline
✅ Native ARM64 Execution: No more Raspberry Pi emulation
✅ Faster Builds: Native runners are much faster than emulated ones
✅ Simplified Maintenance: Matrix strategy reduces code duplication
✅ Better Reliability: No complex emulation dependencies
✅ Consistent Environment: Same OS versions across architectures
✅ Automatic Releases: GitHub releases created automatically with all artifacts
v2: New workflows:
1. Build Workflow (
build.yml
)2. Release Workflow (
release.yml
)v*
are pushed (e.g., v1.0.0)FirebirdSQL/firebird-odbc-driver
)ToDo
Add new(done in 6cb0812)-debug.zip
file with debug symbols-with-debug-symbols
suffix (like Firebird)Remove MakePackage.bat and(done in e85c062)sed
Call(done in e85c062)iscc.exe
direcly, using /F to overrideOutputBaseFilename
RFC @irodushka @asfernandes @mrotteveel