[petsc-dev] Getting .gitlab.ci file out of repository? https://docs.gitlab.com/ee/ci/pipelines/settings.html
Barry Smith
bsmith at petsc.dev
Tue Jun 23 16:48:37 CDT 2020
Yes, if that is our policy, which in seems to have to be, with the GitLab's hardwired .gitlab-ci I have added this, not yet tested or pushed.
Barry
> On Jun 23, 2020, at 9:58 AM, Satish Balay <balay at mcs.anl.gov> wrote:
>
> BTW: You might want to update petscgitbash to check if a rebase is needed before it starts a test pipeline..
>
> This might need a modified version of ./lib/petsc/bin/maint/check-ci-settings.sh ['git fetch --unshallow ...' is for the clones created by gitlab-ci]
>
> Satish
>
> On Tue, 23 Jun 2020, Satish Balay via petsc-dev wrote:
>
>> On Tue, 23 Jun 2020, Barry Smith wrote:
>>
>>>
>>> The issue was when a machine went down we suddenly unknowningly had to rebase against some strange branch before running the pipeline. That was not a good work flow. Perhaps Satish fixed it so master and maint are adjusted when a machine goes down hence no strange branches to merge against.
>>
>> This was my attempt to work-around - until I pushed a better tested change to maint/master. It clearly didn't work. So I pushed my change to maint [which forced a rebase] - triggering this email thread.
>>
>> And the issue here is - do you want pipelines to succeed [and be ready for merge - when some tests are not working and ignored. And when they do come back - maint/master would be broken.
>>
>>>
>>> I do think a model that "just worked" when a machine went down without needing to change the .gitlab-ci file would be better. If I remember vaguely can't every enry in .gitlab-ci be marked as "skip if the runner is not available". Can we adopt that model? We may have tried it before and were not happy with it?
>>
>> Then there won't be any test failures per CI - an one would have to check every failed job manually to verify if should be ignored or nor.
>>
>>
>>
>> One way to do this is with redundancy [of machines - where same test would work on either machine] - which we don't have for all OSes..
>>
>> I think saving rebases is the wrong goal here.. Its cheap - its easy.[compared to other issues], and reorganizing to a more complicated CI to save this doesn't sound right. And there are many other reasons CI will change - not just machines going down..
>>
>> Satish
>>
>>>
>>> Barry
>>>
>>>
>>>> On Jun 23, 2020, at 12:19 AM, Jed Brown <jed at jedbrown.org> wrote:
>>>>
>>>> Satish Balay via petsc-dev <petsc-dev at mcs.anl.gov> writes:
>>>>
>>>>> say - you reorganized some configure code - and changed with-x to with-x11
>>>>>
>>>>> This means the corresponding change should also be config/*.py - for tests not to break. [but other branches would still have to use whats valid for them].
>>>>>
>>>>> So encoding examples/*.py a single/remote gitlab-ci.yaml just creates more problems
>>>>
>>>> I thought Barry was just proposing inlining the configure options into .gitlab-ci.yml, which I think would work fine, but also don't clearly see a point.
>>>>
>>>>> On Mon, 22 Jun 2020, Barry Smith wrote:
>>>>>
>>>>>>
>>>>>> I see, the way it is now each test case in the .gitlab file is hardwired to an examples/*.py maybe we should just delete the examples/*.py and put them directly in the yaml file.
>>>
>>
>
More information about the petsc-dev
mailing list