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 artifacts to GH Releases and S3 from GH Actions #920

Merged
merged 4 commits into from Nov 25, 2019

Conversation

@rashedmyt
Copy link
Member

rashedmyt commented Oct 23, 2019

Following changes have been done in this PR

  1. Uploads build artifacts to GH releases (only on release event) and S3 (for both release and push events)
  2. Caches build using ccache for linux and osx and clcache for windows (Caching in GitHub works differently than travis and I suppose appveyor too. It checks if a cache with given key is present for that branch and event type. If present it restores and if not it continues normally. But after the build is done, instead of checking changes in the cache directory it relies on whether the cache is restored or not. If not restored then it caches else doesn't do anything even if there are changes in the cache. Also if a cache is not active/restored atleast once a week, it will be deleted by github.)
  3. Runs a cron job every week on Sunday 3:30 AM UTC on the default branch of the repository which is development. We cannot make the cron job run on different branch. (This will also make sure the cache gets used atleast once every week)
  4. Re-adds macOS builds

Two things to do before merging this

  1. Add AWS Keys to Secrets in Settings of the Repository
  2. Disable Travis to avoid multiple zip files of same name uploaded to S3 (if it works).

Merge this into a new branch for initial testing.

Note: I have found that the zip files uploaded to GH Releases are almost double the size. It may also be the case with S3

@brandonlehmann

This comment has been minimized.

Copy link
Collaborator

brandonlehmann commented Oct 23, 2019

Are the binaries being stripped? That may explain the size difference.

@rashedmyt

This comment has been minimized.

Copy link
Member Author

rashedmyt commented Oct 23, 2019

I have added the command for stripping.. But I don't know if it is actually doing that or not

@brandonlehmann

This comment has been minimized.

Copy link
Collaborator

brandonlehmann commented Oct 23, 2019

The other thing to double check is the compression level used. -9 or equivalent.

@brandonlehmann

This comment has been minimized.

Copy link
Collaborator

brandonlehmann commented Oct 23, 2019

Topic of discussion came up in discord regarding why some builds are suddenly failing in GH Actions. The statement was made that they are still technically in beta. While Travis has it's own headaches at times, I'm personally hesitant to move to 100% release building via GH Actions as they haven't be released yet.

@rashedmyt

This comment has been minimized.

Copy link
Member Author

rashedmyt commented Oct 24, 2019

I have checked whether the binaries are being actually stripped or not by checking the size, and indeed they are being stripped. I have also tried explicitly specifying the compression level to tar but there wasn't any size difference. Following is a comparison of sizes (in MB) produced from GH Actions and S3 latest zip files.

Platform S3 Actions
Ubuntu (Clang 6) 18.08 21.8
Ubuntu (GCC 7) 18.26 23
Ubuntu (GCC 8) 18.19 22.9
aarch64 18.71 17.8
macos 16.80 15.9
windows 15.79 8.83

The size difference only appears to be on ubuntu default strip. I can test with other different strip binaries (if they exist).

I am okay with waiting till GitHub Actions releases officially on November 13th this year for shifting the CI pipeline. It gives me more time for more testing and removing repeated instructions.

rashedmyt added 2 commits Nov 13, 2019
@rashedmyt

This comment has been minimized.

Copy link
Member Author

rashedmyt commented Nov 15, 2019

I believe its ready to merge. I have updated the OP detailing the changes made in this PR briefly

@rashedmyt rashedmyt force-pushed the rashedmyt:gh_releases branch from efa36e8 to 7e033e7 Nov 15, 2019
@brandonlehmann

This comment has been minimized.

Copy link
Collaborator

brandonlehmann commented Nov 25, 2019

I believe its ready to merge. I have updated the OP detailing the changes made in this PR briefly

Generating new S3 keys now.

@brandonlehmann

This comment has been minimized.

Copy link
Collaborator

brandonlehmann commented Nov 25, 2019

I believe its ready to merge. I have updated the OP detailing the changes made in this PR briefly

Generating new S3 keys now.

Secret keys added to repo settings.

Removing hold tag.

Disabling Travis now.

@brandonlehmann brandonlehmann merged commit 3f4eec6 into turtlecoin:development Nov 25, 2019
8 checks passed
8 checks passed
Ubuntu GCC 7
Details
Ubuntu GCC 8
Details
Ubuntu Clang 6
Details
aarch64
Details
macOS
Details
Windows
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@rashedmyt rashedmyt deleted the rashedmyt:gh_releases branch Nov 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.