[fpc-devel] [RFC] Modernising the FPC Release Process -- Proposal for Review
Michael Van Canneyt
michael at freepascal.org
Thu Apr 16 10:38:29 CEST 2026
On Thu, 16 Apr 2026, Tomas Hajny via fpc-devel wrote:
> On 2026-04-15 18:24, Michael Van Canneyt via fpc-devel wrote:
>> On Wed, 15 Apr 2026, Tomas Hajny via fpc-devel wrote:
>>> On 2026-04-15 17:53, Michael Van Canneyt via fpc-devel wrote:
>>>> On Wed, 15 Apr 2026, Tomas Hajny via fpc-devel wrote:
>>>>> On 2026-04-15 15:18, Graeme Geldenhuys via fpc-devel wrote:
>>>
>>> .
>>> .
>>>>>> * Automation for the fpc/build repository: when fpcsrc is tagged
>>>>>> with a release or RC tag, a GitLab CI pipeline automatically
>>>>>> pins the submodule pointers in fpc/build and applies the same
>>>>>> tag there, eliminating the manual submodule update step.
>>>>>
>>>>> Please, read the discussion (especially our communication with Martin
>>>>> F.) to get better understanding why this particular part doesn't fit the
>>>>> needs. I don't say that nothing might ever change in this area compared
>>>>> to the current state, but please note that cross-building is _not_
>>>>> applicable for all FPC supported targets and thus building for all
>>>>> targets cannot be tested / checked by a single person or anything like
>>>>> that - which is why testing the release build against once created tag
>>>>> is not enough.
>>>>
>>>> No, but we definitely can automate it for the major platforms.
>>> .
>>> .
>>>
>>> Please, note what kind of "automation" is mentioned above
>>
>> I did, and I followed the discussion. I don't see the problem at all.
>>
>> Maybe you can explain it as you seem to understand it ?
>
> If I understand it correctly, this part of the proposal suggests replacing
> the current mechanism of keeping fpcbuild repository up to date (i.e. keeping
> the latest versions of the submodules always available in the fpcbuild
> repository) with one time synchronization only when a particular tag is
> applied to fpcbuild. That would mean that building the most up to date
> version for individual targets could not be tested before applying the tag
> (and that testing it again after any applied fixes would always need manual
> synchronization). And that would not be a good idea at all as far as I can
> tell...
1. How is this different from today ?
You will always need a manual action to 'fix' the version on the 3 repos involved.
Whether that is setting a tag or changing the module branch on the .submodules file,
it remains an action that needs to be done.
2. What stops people from testing using fpcbuild and whatnot without a tag being set ?
Nothing. The branch from which the release is being built is known long
before any tag is set, so nothing stops people from testing that branch.
To test, you need 3 SHAs: fpcbuild, source and docs. That's it.
We put this in a build_id_card.txt or whatever which you can modify and you're all set
to launch any build you desire.
Honestly, I don't understand all the negativity. If there is a problem, we'll fix it.
Michael.
More information about the fpc-devel
mailing list