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

Upload scheduled debug builds to Github actions artifacts #736

Merged
merged 4 commits into from
Aug 6, 2020

Conversation

bastimeyer
Copy link
Member

Resolves #360

  • Renames the old DEBUG global var to DEVELOPMENT, adds the new DEBUG global var, and splits the logic between them accordingly.
  • Implements the build:debug task alias, which runs tests and creates a debug build via webpack:debug.
  • Refactors some webpack configs.
  • Implements the :debug compile flag for the nwjs, compile, release and dist tasks.
    This flag has to be set at the end of the arguments of each task, eg. dist:archive_win64:archive_osx64:archive_linux64:debug.
    The debug flag gets passed through to the nwjs task, where it will use the NW.js SDK flavor instead of the normal flavor, so that the Chromium dev tools become available in the final debug build.
  • Refactors the VersioncheckService.
  • Adds a daily warning message when running a debug build.
  • Adds scheduled CI runs each day at midnight and cancels the run if nothing new was committed since then.
    The final builds are uploaded as artifacts and can be downloaded from there (requires Github login).
    Unfortunately, due to a current restriction of the upload-artifacts action, all files are stored in a nested zip-archive / tarball. There's no workaround for that, as the upload-artifacts action always archives/compresses its inputs. Not building our own archives doesn't work either, as the action doesn't care for file permissions, which would break macOS/Linux builds. Also, our own archives are built deterministically, and this effort shouldn't be ignored or discarded.

TODO:

  • Update the readme and wiki once merged and the first debug build has been uploaded.

This adds the `build:debug` task and the `nwjs`, `release`, `compile`
and `dist` tasks now support the trailing `debug` task argument, which
will compile the debug build instead of the production build. Example:
  grunt build:debug dist:linux64:debug

This also adds the new `DEVELOPMENT` global var in addition to `DEBUG`
and splits some of the logic between those two, as some code is meant
to only be run in a development build.

Debug builds have the regular debug flags sets, similar to the
development build, and the NW.js SDK flavor is used for compiling them,
so that the Chromium dev-tools can be accessed.
Run daily, uploaded as build artifacts for win64, osx64 and linux64.
@codecov
Copy link

codecov bot commented Aug 6, 2020

Codecov Report

Merging #736 into master will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #736      +/-   ##
==========================================
+ Coverage   88.31%   88.37%   +0.06%     
==========================================
  Files         456      456              
  Lines       14902    14979      +77     
  Branches     1313     1317       +4     
==========================================
+ Hits        13161    13238      +77     
  Misses       1657     1657              
  Partials       84       84              

@bastimeyer bastimeyer merged commit a2bcc4b into master Aug 6, 2020
@bastimeyer bastimeyer deleted the debug-build branch August 7, 2020 20:41
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.

Create nightly builds
1 participant