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

Latest 1.4 linux_x64.tar.xz archive was broken #50

Open
ee7 opened this issue Jan 18, 2021 · 4 comments
Open

Latest 1.4 linux_x64.tar.xz archive was broken #50

ee7 opened this issue Jan 18, 2021 · 4 comments

Comments

@ee7
Copy link

ee7 commented Jan 18, 2021

The latest 1.4 linux_x64.tar.xz archive is corrupt.

The release page is here: https://github.com/nim-lang/nightlies/releases/tag/latest-version-1-4

Example

curl -sSfLO https://github.com/nim-lang/nightlies/releases/download/latest-version-1-4/linux_x64.tar.xz
tar xf linux_x64.tar.xz

Current behaviour

xz: (stdin): Compressed data is corrupt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Expected behaviour

No error.

Additional information

It looks like this doesn't affect the other latest-version-1-4 archives.

This issue means that people using version-1-4 with the alaviss/setup-nim action will see CI failures:

Run alaviss/setup-nim@f81f2a6d1505ab32f440ec9d8adbb81e949d3bf0
-- Downloading prebuilt archive 'linux_x64.tar.xz' for branch 'version-1-4'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   642  100   642    0     0   5219      0 --:--:-- --:--:-- --:--:--  5219

100  9.8M  100  9.8M    0     0  23.4M      0 --:--:-- --:--:-- --:--:-- 23.4M
-- Extracing 'linux_x64.tar.xz'
xz: (stdin): Compressed data is corrupt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Error: Process completed with exit code 2.

The release page contains

This release is an alias for the latest successful nightly build for branch version-1-4: https://github.com/nim-lang/nightlies/releases/tag/2021-01-03-version-1-4-1d8b7aa07ca9989b80dd758d66c7f4ba7dc533f7

This seems to be false - they're built from different commits, and the x64 linux archive on the linked 2021-01-03 page is not corrupt:

curl -sSfLO https://github.com/nim-lang/nightlies/releases/download/2021-01-03-version-1-4-1d8b7aa07ca9989b80dd758d66c7f4ba7dc533f7/nim-1.4.3-linux_x64.tar.xz
tar xf nim-1.4.3-linux_x64.tar.xz
@ee7
Copy link
Author

ee7 commented Jan 18, 2021

The archive has been replaced with a working one (see https://api.github.com/repos/nim-lang/nightlies/releases/36527859 and Ctrl+f for updated_at).

@alaviss Do we know why the archive was broken? Can we add a check to the release process so that this can't happen again?

@ee7 ee7 changed the title Latest 1.4 linux_x64.tar.xz archive is corrupt Latest 1.4 linux_x64.tar.xz archive was broken Jan 18, 2021
@alaviss
Copy link
Contributor

alaviss commented Jan 18, 2021

I'm not sure, the said build passed with no noticeable errors: https://github.com/nim-lang/nightlies/runs/1718858154?check_suite_focus=true

My guess is that there were some issues with Github's server during the upload to latest-version-1-4, since only the linux 64bit tarball was broken.

@ee7
Copy link
Author

ee7 commented Jan 18, 2021

Is it possible/sensible to add a step/job that downloads the archives and checks that they extract without error? Or that they match an expected hash?

@alaviss
Copy link
Contributor

alaviss commented Jan 18, 2021

Sure, but overuse of the Github APIs will get us throttled, which I want to avoid. We can already trip this by having two nightlies run consecutively in one day (due to a Nim minor release for example).

Frankly I would want to get #49 fixed so we don't have to do double uploads.

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

No branches or pull requests

2 participants