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

Fix configure buglet; verify bit-for-bit identical installs; enhance junit output; add Linux/bsd/mac builders #500

Open
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

dankegel
Copy link
Contributor

@dankegel dankegel commented May 26, 2020

This is a followon to Chris's changes, #492

Fixes #497 and #499

  • Adds Mac, BSD, Ubuntu, Fedora, and Debian builders
  • Verifies that cmake and configure builds produce identical installs on all non-windows platforms
  • Adds proper line/file info to junit output so cirrus-ci builds yield good error annotations on github pull requests.
  • New --force_fail option to make testing the above possible without temporary code changes
  • --junit no longer disables normal test output
  • New --fast_fail option; default is now don't abort on first failure.
  • minor tidying

ProgramMax and others added 11 commits May 25, 2020 19:45
To make it easier to accept contributions to zlib we should establish automated testing.

This commit uses the existing test/example.c testing. It connects those tests to AppVeyor, allowing AppVeyor to mark commits as passing or failing the tests. It also automatically runs tests when a pull request is submitted or updated.

There is some room for future expansion enabled, such as tracking the file and line of a failing test. This is thanks to @dankegel, who also got this working on CI providers other than AppVeyor.
…#497

- default build type to Release
- set -DHIDDEN properly
- pass .c files to compiler in same order
- on linux/bsd, link libz.so with -lc explicitly (as Makefile.in does, but why?)
- output same libz.pc and zconf.h as Make
ci/pkgcheck.sh: verify make and cmake install same bits, and
that running configure/make doesn't try to reference wrong zconf.h.
Also don't assume there will only be one option.
This lets the Linux build upload results for both tests (example and example64).
The choice of output formats used to be intertwined with
whether to terminate on first failure.
New default is to not terminate on first failure,
regardless of output formats; use --fail_fast
if you want to stop the test on the first failure.
@dankegel dankegel changed the title Issues 497 499 identical output and mucho ci Fix configure buglet; verify bit-for-bit identical installs; enhance junit output; add Linux/bsd/mac builders May 26, 2020
@dankegel
Copy link
Contributor Author

You can see the builders in action at dankegel#7 (same branch, just in a repo where both appveyor and cirrus-ci are enabled).

@dankegel
Copy link
Contributor Author

https://cirrus-ci.org/guide/quick-start/ explains how to configure your repo to obey the .cirrus.yml in this commit to carry out automated builds. It's pretty easy.

@dankegel
Copy link
Contributor Author

Bouncing to see if CI is enabled yet.

@Neustradamus
Copy link

@madler: What do you think?

@madler
Copy link
Owner

madler commented Jan 20, 2024

Applied one fix in 9404df5 .

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.

cmake and configure builds are not bit-for-bit identical
4 participants