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

Have Travis and Appveyor create official release packages #2255

Closed
derekbruening opened this issue Feb 10, 2020 · 2 comments · Fixed by #2256
Closed

Have Travis and Appveyor create official release packages #2255

derekbruening opened this issue Feb 10, 2020 · 2 comments · Fixed by #2256

Comments

@derekbruening
Copy link
Contributor

DR now has the CI creating its packages (including building Dr. Memory): DynamoRIO/dynamorio#2861. This covers doing the same for Dr. Memory.

@derekbruening derekbruening self-assigned this Feb 10, 2020
derekbruening added a commit that referenced this issue Feb 11, 2020
Switches to a separate invocation of package.cmake for cronbuilds, to
make them look like release packages.  Cronbuilds on Travis and
Appveyor no longer run the same jobs as a regular build but instead
run one package.cmake job.

If the build number is 0, we omit it from the package name, rather
than appending it.

.travis.yml now takes in VERSION_NUMBER and uses it directly.  There
is no more TAG_SUFFIX: VERSION_NUMBER has to include the build number
if that's desired, and that will be part of the tag as well.  If
VERSION_NUMBER is not set it uses the default as before with a
cronbuild- prefix for the tag.

runsuite_wrapper.pl parses VERSION_NUMBER and if it has a -NNN it
passes that as the build= arg to package.cmake.  It also passes a
version= argument.

Fixes #2255
@derekbruening
Copy link
Contributor Author

The source package is failing on Appveyor:

[00:13:02] CPack: Create package using ZIP
[00:13:02] CPack: Install projects
[00:13:02] CPack: - Install directory: C:/projects/drmemory
[00:13:02] CPack Error: Problem copying file: C:/projects/drmemory/build/build_drmemory-debug-32/.ninja_deps -> C:/projects/drmemory/build/build_drmemory-debug-32/_CPack_Packages/Windows-Source/ZIP/DrMemory-2.3.18303-0-Source////build/build_drmemory-debug-32/.ninja_deps
[00:13:02] CPack Error: Error when generating package: Dr. Memory

At first I thought it was something about a dotfile, so I ignored the file via CPACK_SOURCE_IGNORE_FILES. It just failed on .ninja_logs next.
I ignored that and it fails on the next thing:

[0/3] Run CPack packaging tool for source...
CPack: Create package using ZIP
CPack: Install projects
CPack: - Install directory: C:/projects/drmemory
CPack Error: Problem copying file: C:/projects/drmemory/build/build_drmemory-debug-32/Testing/Temporary/LastBuild_20200212-0541.log.tmp -> C:/projects/drmemory/build/build_drmemory-debug-32/_CPack_Packages/Windows-Source/ZIP/DrMemory-2.3.18304-0-Source////build/build_drmemory-debug-32/Testing/Temporary/LastBuild_20200212-0541.log.tmp

Is it something with all those slashes in a row??

Stepping back: for test builds we set build_package but never build_source_package.
DR's package.cmake also never sets build_source_package.
So this is the first time we've tested this in Appveyor.

Given that Github is already supplying a source tarball, I'm just going to remove build_source_package for DrM for CI builds.

derekbruening added a commit that referenced this issue Feb 15, 2020
Switches to a separate invocation of package.cmake for cronbuilds, to
make them look like release packages.  Cronbuilds on Travis and
Appveyor no longer run the same jobs as a regular build but instead
run one package.cmake job.

If the build number is 0, we omit it from the package name, rather
than appending it.

.travis.yml now takes in VERSION_NUMBER and uses it directly.  There
is no more TAG_SUFFIX: VERSION_NUMBER has to include the build number
if that's desired, and that will be part of the tag as well.  If
VERSION_NUMBER is not set it uses the default as before with a
cronbuild- prefix for the tag.

runsuite_wrapper.pl parses VERSION_NUMBER and if it has a -NNN it
passes that as the build= arg to package.cmake.  It also passes a
version= argument.

Adds WiX to the PATH for building an .msi package.

Makes a package failure turn the build red.

Installs doxygen from direct download instead of choco.

Updates DR to 2976f031 to pull in the doxyutils fix for identifying cygwin doxygen.

No need to install ghostscript or imagemagick or fig2dev anymore after
DRi#3235.  Removes those installations from Travis and Appveyor.

Fixes #2255
derekbruening added a commit that referenced this issue Feb 15, 2020
We need to check for both "type" and the TRAVIS_EVENT_TYPE env var in
the jobs matrix to support both scheduled and manually-triggered
package builds.

Issue: #2255
derekbruening added a commit that referenced this issue Feb 15, 2020
We need to check for both "type" and the TRAVIS_EVENT_TYPE env var in
the jobs matrix to support both scheduled and manually-triggered
package builds.

Issue: #2255
derekbruening added a commit that referenced this issue Feb 15, 2020
Adds a missing artifact entry to deploy the .msi too.

Issue: #2255
derekbruening added a commit that referenced this issue Feb 15, 2020
Adds a missing artifact entry to deploy the .msi too.

Issue: #2255
derekbruening added a commit that referenced this issue Feb 15, 2020
10.13 is failing to deploy so we try 10.14.

Issue: #2255
@derekbruening
Copy link
Contributor Author

It took a lot of commits and tries but finally there is a successful one: https://github.com/DynamoRIO/drmemory/releases/tag/release_2.3.183

There seems to be some Github bug in OSX 10.13 where it failed to deploy. 10.14 works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant