Conversation
|
@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 |
|
New commits:
1. Build Workflow (
|
- Uses the tag version as a suffix in the filenames of published artifacts. - Consolidate Windows jobs with `strategy.matrix`. - Add ARM64 support to release workflow - Adds debug .zip files. - Removes MakePackage.bat and sed package. - Removes unused (commented) sections from OdbcJdbcSetup.iss.
- Adds build.yml (for builds after pushes/PR). - Restrict release.yml to run only on official repository. - Updates README.md build status badges.
1b1cdf8 to
ce29ec3
Compare
|
Rebased with latest Adds Windows ARM64 builds. Unofficial binaries available at https://github.com/fdcastel/firebird-odbc-driver/releases/tag/v3.0.22-rc1 |
|
@irodushka Some time ago you said
Well... Future has arrived! Where are those tests? 🙂 I’m starting a new test suite for this project, and I’d like to fold in your tests along with a few others I’ve collected along the way. |
|
Hi @fdcastel ! It's great to see you again! I shall try to do them in а week or two. Can you please tell me in what form should I give them to you?) |
Don’t waste time polishing them—just send them over. Any format is fine, even if they don’t work. I’m building a brand-new test suite from the ground up. What I really need are the cases and the ideas. I’ll take care of the rest. |
|
Hi @fdcastel ! Do I understand right that PR#275 includes this PR? And this PR can be closed? Well, what about tests.
|

Initial work to solve #231. Based on @asfernandes work on Firebird project. 🚀
GitHub releases can be found here.
v1: Original PR
Changes
releaseworkflow is now triggered when a tag starting withvis pushed.pguyot/arm-runner-actionwith nativeubuntu-22.04-armrunnersBuilds/Msvc2019toBuilds/MsVc2022.winfirebird-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.zipfile with debug symbols-with-debug-symbolssuffix (like Firebird)Remove MakePackage.bat and(done in e85c062)sedCall(done in e85c062)iscc.exedirecly, using /F to overrideOutputBaseFilenameRFC @irodushka @asfernandes @mrotteveel