Skip to content
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

Switch all builds from Travis to Cirrus #1350

Merged
merged 6 commits into from Dec 8, 2020
Merged

Conversation

asomers
Copy link
Member

@asomers asomers commented Dec 3, 2020

Travis has been super-slow lately (> 6 hours per build). Cirrus is much
faster: about 20 minutes. Cirrus also has slightly better test
coverage, mainly because it doesn't use SECCOMP.

Also,

  • Fix the Redox CI build. The old Travis configuration didn't actually
    build for Redox, so we never noticed that Redox can't be built with a
    stable compiler. Thanks to @coolreader18 for finding this.

  • Disable the udp_offload tests on cross-tested platforms. These tests
    are failing with ENOPROTOOPT in Cirrus-CI. I suspect it's due to a
    lack of support in QEMU. These tests were skipped on Travis because
    its kernel was too old.

  • Fix require_kernel_version on Cirrus-CI. Cirrus reports the Linux
    kernel version as 4.19.112+, which the semver crate can't handle.

  • Fix test_setfsuid on Cirrus. When run on Cirrus, it seems like the
    file in /tmp gets deleted as soon as it's closed. Probably an
    overzealous temporary file cleaner. Use /var/tmp, because no
    temporary file cleaner should run in there.

  • Skip mount tests on Cirrus. They fail for an unknown reason.
    Issue EACCES during test_mount on Cirrus-CI #1351

  • Skip the AF_ALG tests on Cirrus-CI
    Issue ENOENT in af_alg tests on Cirrus-CI #1352

asomers and others added 5 commits December 6, 2020 22:23
It's deprecated by Xcode, and the version of Xcode installed by
Cirrus-CI doesn't include 32 bit libraries.
When run in Cirrus-CI's environment, the tests generate copious SIGRT_1
signals.  This commit ensures that the poll tests will retry on EINTR.
When run in Cirrus-CI's environment, the tests generate copious SIGRT_1
signals.  This commit ensures that test_alarm will ignore them.
Travis has been super-slow lately (> 6 hours per build).  Cirrus is much
faster: about 20 minutes.  Cirrus also has slightly better test
coverage, mainly because it doesn't use SECCOMP.

Also,

* Fix the Redox CI build.  The old Travis configuration didn't actually
  build for Redox, so we never noticed that Redox can't be built with a
  stable compiler.  Thanks to @coolreader18 for finding this.

* Disable the udp_offload tests on cross-tested platforms.  These tests
  are failing with ENOPROTOOPT in Cirrus-CI.  I suspect it's due to a
  lack of support in QEMU.  These tests were skipped on Travis because
  its kernel was too old.

* Fix require_kernel_version on Cirrus-CI.  Cirrus reports the Linux
  kernel version as 4.19.112+, which the semver crate can't handle.

* Fix test_setfsuid on Cirrus.  When run on Cirrus, it seems like the
  file in /tmp gets deleted as soon as it's closed.  Probably an
  overzealous temporary file cleaner.  Use /var/tmp, because no
  temporary file cleaner should run in there.

* Skip mount tests on Cirrus.  They fail for an unknown reason.
Issue nix-rust#1351

* Skip the AF_ALG tests on Cirrus-CI
Issue nix-rust#1352
@asomers asomers changed the title WIP switching all builds from Travis to Cirrus Switch all builds from Travis to Cirrus Dec 7, 2020
Copy link
Member

@kamalmarhubi kamalmarhubi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wow this is amazing 😮

Copy link
Member

@posborne posborne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! That's more than a little faster!

@asomers-ax
Copy link
Contributor

Grr, but now musl is failing, and it's consistent. I guess I have to fix that one, too.

Ensure that the exec functions' arguments are valid for 'static.
Previously they were short-lived temporaries.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants