Message ID | 20210118063808.12471-10-jiaxun.yang@flygoat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Alpine Linux build fix and CI pipeline | expand |
On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: > We only run build test and check-acceptance as their are too many > failures in checks due to minor string mismatch. Can you give real examples of what's broken here, as that sounds rather suspicious, and I'm not convinced it should be ignored. > > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> > --- > .gitlab-ci.d/containers.yml | 5 +++++ > .gitlab-ci.yml | 23 +++++++++++++++++++++++ > 2 files changed, 28 insertions(+) > > diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml > index 910754a699..90fac85ce4 100644 > --- a/.gitlab-ci.d/containers.yml > +++ b/.gitlab-ci.d/containers.yml > @@ -28,6 +28,11 @@ > - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' > - if: '$CI_COMMIT_REF_NAME == "testing/next"' > > +amd64-alpine-container: > + <<: *container_job_definition > + variables: > + NAME: alpine > + > amd64-centos7-container: > <<: *container_job_definition > variables: > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index 4532f1718a..6cc922aedb 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -72,6 +72,29 @@ include: > - cd build > - du -chs ${CI_PROJECT_DIR}/avocado-cache > > +build-system-alpine: > + <<: *native_build_job_definition > + variables: > + IMAGE: alpine > + TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu > + moxie-softmmu microblazeel-softmmu mips64el-softmmu > + MAKE_CHECK_ARGS: check-build > + CONFIGURE_ARGS: --enable-docs > + artifacts: > + expire_in: 2 days > + paths: > + - build > + > +acceptance-system-alpine: > + <<: *native_test_job_definition > + needs: > + - job: build-system-alpine > + artifacts: true > + variables: > + IMAGE: alpine > + MAKE_CHECK_ARGS: check-acceptance > + <<: *acceptance_definition > + > build-system-ubuntu: > <<: *native_build_job_definition > variables: > -- > 2.30.0 > > Regards, Daniel
On 18/01/2021 11.11, Daniel P. Berrangé wrote: > On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: >> We only run build test and check-acceptance as their are too many >> failures in checks due to minor string mismatch. > > Can you give real examples of what's broken here, as that sounds > rather suspicious, and I'm not convinced it should be ignored. I haven't tried, but I guess it's the "check-block" iotests that are likely failing with a different libc, since they do string comparison on the textual output of the tests. If that's the case, it would maybe be still ok to run "check-qtest" and "check-union" on Alpine instead of the whole "check" test suite. Thomas
On Mon, Jan 18, 2021 at 11:22:47AM +0100, Thomas Huth wrote: > On 18/01/2021 11.11, Daniel P. Berrangé wrote: > > On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: > > > We only run build test and check-acceptance as their are too many > > > failures in checks due to minor string mismatch. > > > > Can you give real examples of what's broken here, as that sounds > > rather suspicious, and I'm not convinced it should be ignored. > > I haven't tried, but I guess it's the "check-block" iotests that are likely > failing with a different libc, since they do string comparison on the > textual output of the tests. If that's the case, it would maybe be still ok > to run "check-qtest" and "check-union" on Alpine instead of the whole > "check" test suite. Perhaps errno strings are different due to libc hitting block tests. I would expect this to be explained in the commit message though with example, so we have a clear record of why we needed to disable this. It might indicate a need to change our test suite to be more robust in this area, because that would also suggest the tests might fail on non-Linux. Regards, Daniel
On Mon, Jan 18, 2021, at 6:11 PM, Daniel P. Berrangé wrote: > On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: > > We only run build test and check-acceptance as their are too many > > failures in checks due to minor string mismatch. > > Can you give real examples of what's broken here, as that sounds > rather suspicious, and I'm not convinced it should be ignored. Mostly Input/Output error vs I/O Error. - Jiaxun
On 18/01/2021 14.37, Jiaxun Yang wrote: > > > On Mon, Jan 18, 2021, at 6:11 PM, Daniel P. Berrangé wrote: >> On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: >>> We only run build test and check-acceptance as their are too many >>> failures in checks due to minor string mismatch. >> >> Can you give real examples of what's broken here, as that sounds >> rather suspicious, and I'm not convinced it should be ignored. > > Mostly Input/Output error vs I/O Error. Right, out of curiosity, I also gave it a try: https://gitlab.com/huth/qemu/-/jobs/969225330 Apart from the "I/O Error" vs. "Input/Output Error" difference, there also seems to be a problem with "sed" in some of the tests. Jiaxun, I think you could simply add a job like this instead: check-system-alpine: <<: *native_test_job_definition needs: - job: build-system-alpine artifacts: true variables: IMAGE: alpine MAKE_CHECK_ARGS: check-qtest check-unit check-qapi-schema check-softfloat That will run all the other tests, without the problematic check-block part. Thomas
On Mon, Jan 18, 2021 at 03:44:49PM +0100, Thomas Huth wrote: > On 18/01/2021 14.37, Jiaxun Yang wrote: > > > > > > On Mon, Jan 18, 2021, at 6:11 PM, Daniel P. Berrangé wrote: > > > On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: > > > > We only run build test and check-acceptance as their are too many > > > > failures in checks due to minor string mismatch. > > > > > > Can you give real examples of what's broken here, as that sounds > > > rather suspicious, and I'm not convinced it should be ignored. > > > > Mostly Input/Output error vs I/O Error. > > Right, out of curiosity, I also gave it a try: > > https://gitlab.com/huth/qemu/-/jobs/969225330 > > Apart from the "I/O Error" vs. "Input/Output Error" difference, there also > seems to be a problem with "sed" in some of the tests. The "sed" thing sounds like something that ought to be investigated from a portability POV rather than ignored. More worrying is the fact that there's a segv in there too when running qemu-img, which does not give me confidence in use of it with musl. Regards, Daniel
On 18/01/2021 15.50, Daniel P. Berrangé wrote: > On Mon, Jan 18, 2021 at 03:44:49PM +0100, Thomas Huth wrote: >> On 18/01/2021 14.37, Jiaxun Yang wrote: >>> >>> >>> On Mon, Jan 18, 2021, at 6:11 PM, Daniel P. Berrangé wrote: >>>> On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: >>>>> We only run build test and check-acceptance as their are too many >>>>> failures in checks due to minor string mismatch. >>>> >>>> Can you give real examples of what's broken here, as that sounds >>>> rather suspicious, and I'm not convinced it should be ignored. >>> >>> Mostly Input/Output error vs I/O Error. >> >> Right, out of curiosity, I also gave it a try: >> >> https://gitlab.com/huth/qemu/-/jobs/969225330 >> >> Apart from the "I/O Error" vs. "Input/Output Error" difference, there also >> seems to be a problem with "sed" in some of the tests. > > The "sed" thing sounds like something that ought to be investigated > from a portability POV rather than ignored. The weird thing is that we explicitly test for GNU sed in tests/check-block.sh and skip the iotests if it's not available... so I'm a little bit surprised that the iotests are run here with an apparently different version of sed...? Thomas
On 18/01/2021 16.12, Thomas Huth wrote: > On 18/01/2021 15.50, Daniel P. Berrangé wrote: >> On Mon, Jan 18, 2021 at 03:44:49PM +0100, Thomas Huth wrote: >>> On 18/01/2021 14.37, Jiaxun Yang wrote: >>>> >>>> >>>> On Mon, Jan 18, 2021, at 6:11 PM, Daniel P. Berrangé wrote: >>>>> On Mon, Jan 18, 2021 at 02:38:08PM +0800, Jiaxun Yang wrote: >>>>>> We only run build test and check-acceptance as their are too many >>>>>> failures in checks due to minor string mismatch. >>>>> >>>>> Can you give real examples of what's broken here, as that sounds >>>>> rather suspicious, and I'm not convinced it should be ignored. >>>> >>>> Mostly Input/Output error vs I/O Error. >>> >>> Right, out of curiosity, I also gave it a try: >>> >>> https://gitlab.com/huth/qemu/-/jobs/969225330 >>> >>> Apart from the "I/O Error" vs. "Input/Output Error" difference, there also >>> seems to be a problem with "sed" in some of the tests. >> >> The "sed" thing sounds like something that ought to be investigated >> from a portability POV rather than ignored. > > The weird thing is that we explicitly test for GNU sed in > tests/check-block.sh and skip the iotests if it's not available... so I'm a > little bit surprised that the iotests are run here with an apparently > different version of sed...? Oh, well, I've fired up a bootable ISO image of Alpine, and ran "sed --version" and it says: This is not GNU sed version 4.0 Ouch. But I guess we could add a check for that to our tests/check-block.sh script, too... Thomas
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index 910754a699..90fac85ce4 100644 --- a/.gitlab-ci.d/containers.yml +++ b/.gitlab-ci.d/containers.yml @@ -28,6 +28,11 @@ - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' - if: '$CI_COMMIT_REF_NAME == "testing/next"' +amd64-alpine-container: + <<: *container_job_definition + variables: + NAME: alpine + amd64-centos7-container: <<: *container_job_definition variables: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4532f1718a..6cc922aedb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,6 +72,29 @@ include: - cd build - du -chs ${CI_PROJECT_DIR}/avocado-cache +build-system-alpine: + <<: *native_build_job_definition + variables: + IMAGE: alpine + TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu + moxie-softmmu microblazeel-softmmu mips64el-softmmu + MAKE_CHECK_ARGS: check-build + CONFIGURE_ARGS: --enable-docs + artifacts: + expire_in: 2 days + paths: + - build + +acceptance-system-alpine: + <<: *native_test_job_definition + needs: + - job: build-system-alpine + artifacts: true + variables: + IMAGE: alpine + MAKE_CHECK_ARGS: check-acceptance + <<: *acceptance_definition + build-system-ubuntu: <<: *native_build_job_definition variables:
We only run build test and check-acceptance as their are too many failures in checks due to minor string mismatch. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> --- .gitlab-ci.d/containers.yml | 5 +++++ .gitlab-ci.yml | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+)