-
Notifications
You must be signed in to change notification settings - Fork 37.7k
build: Drop make dist in gitian builds #18556
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
Conversation
Open-Close to re-run ci. See #15847 (comment) |
Travis run here: https://travis-ci.org/github/bitcoin/bitcoin/builds/672303495 . Not sure why it is not linked. |
Gitian builds
|
Concept ACK |
Looks like |
8d0c980
to
19a51a8
Compare
Updated 8d0c980 -> 19a51a8 (pr18556.01 -> pr18556.02, diff):
|
Gitian builds
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
if [[ $RECENT_TAG == v* ]]; then | ||
VERSION=${RECENT_TAG:1} | ||
else | ||
VERSION=$RECENT_TAG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is this condition for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We tag releases with the prepended "v", like "v0.20.0rc1".
This if
statement just removes it on purpose to include the version string (e.g., "0.20.0rc1") into file names.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I meant the else branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if [ $RECENT_TAG = $(git describe HEAD) ]; then
if [[ $RECENT_TAG == v* ]]; then
VERSION=${RECENT_TAG:1} # Set VERSION to release (with "v") tagged commit
else
VERSION=$RECENT_TAG # Set VERSION to non-release (without "v") tagged commit
fi
else
VERSION=$(git rev-parse --short HEAD) # Set VERSION to untagged commit
fi
DISTNAME=bitcoin-${VERSION} # Use VERSION in file names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why would there be a non-v* tagged commit? This should probably be an assert(false)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is convenient for making gitian test builds. At least, for me :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, will leave this for other reviewers to bikeshed :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is convenient for making gitian test builds. At least, for me :)
I mentioned on IRC, however I'll just reiterate here, I'd definitely normally NACK unclear/undocumented additions to our build system / release scripts. However given that this should be removed in a follow up PR I think it's ok as is. If you've got patches that are helpful for testing, you can maintain them locally, but please don't just bundle them into a PR along with other changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rationale for adding that addition:
Currently, the gitian-build.py
script allows to make builds from personal repos by passing the --url
command line argument. Also a branch could be chosen. This change adds an option to point the script to a tagged commit on personal repo as well.
ACK, can squash the first two commits? |
This commit removes the directory that is no longer used since bitcoin#16667.
19a51a8
to
2aa48ed
Compare
Updated 19a51a8 -> 2aa48ed (pr18556.02 -> pr18556.03, diff):
|
This should close #16588 if I'm not mistaken. |
The OP has been updated. |
@fanquake Anything left to do here? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if [[ $RECENT_TAG == v* ]]; then | ||
VERSION=${RECENT_TAG:1} | ||
else | ||
VERSION=$RECENT_TAG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is convenient for making gitian test builds. At least, for me :)
I mentioned on IRC, however I'll just reiterate here, I'd definitely normally NACK unclear/undocumented additions to our build system / release scripts. However given that this should be removed in a follow up PR I think it's ok as is. If you've got patches that are helpful for testing, you can maintain them locally, but please don't just bundle them into a PR along with other changes.
for descriptor in $(git ls-files -- 'contrib/gitian-descriptors/*.yml') | ||
do | ||
echo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know is this is expected or changed here, but running this I see:
test/lint/lint-shell.sh
2020/04/25 19:36:23 unknown command "contrib/gitian-descriptors/gitian-linux.yml" for "yq"
2020/04/25 19:36:23 unknown command "contrib/gitian-descriptors/gitian-osx-signer.yml" for "yq"
2020/04/25 19:36:23 unknown command "contrib/gitian-descriptors/gitian-osx.yml" for "yq"
2020/04/25 19:36:23 unknown command "contrib/gitian-descriptors/gitian-win-signer.yml" for "yq"
2020/04/25 19:36:23 unknown command "contrib/gitian-descriptors/gitian-win.yml" for "yq"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you have yq installed?
Yes. yq version 3.3.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you have yq installed?
Yes.
yq version 3.3.0
$ brew install python-yq
2aa48ed refactor: Drop unused ${WRAP_DIR}/${HOST} directory (Hennadii Stepanov) 1362be0 build: Drop make dist in gitian builds (Hennadii Stepanov) Pull request description: After the merge of bitcoin#18331, the packaged source tarball is created by `git archive`, but the binaries are built from another one which is made by `make dist`. With this PR the only source tarball, created by `git archive`, is used both for binaries building and for packaging to users. Close bitcoin#16588. Close bitcoin#18547. As a good side-effect, bitcoin#18349 becomes redundant. **Change in behavior** The following variables https://github.com/bitcoin/bitcoin/blob/1b151e3ffce7c1a2ee46bf280cc1d96775d1f91e/configure.ac#L2-L6 are no longer used for naming of directories and tarballs. Instead of them the gitian descriptors use a git tag (if available) or a commit hash. --- Also a small refactor commit picked from bitcoin#18404. ACKs for top commit: dongcarl: ACK 2aa48ed MarcoFalke: ACK 2aa48ed fanquake: ACK 2aa48ed - I've had a quick look over this, and don't want to block merging if this actually gets as closer to finally having this all sorted out. Obviously we've still got bitcoin#18741, and after speaking to Carl this morning, there will likely be even more changes after that (not Guix specific). Tree-SHA512: d3b16f87e48d1790a3264940c28acd5d881bfd10f3ce94fb0c8a6af76d8039289d01e0cd4972adac49ae24362857251f6c1e5e09e3e9fbf636c10708b4015a7c
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: #18556 Related: #17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase #18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
Github-Pull: bitcoin#18556 Rebased-From: 1362be0
This commit removes the directory that is no longer used since bitcoin#16667. Github-Pull: bitcoin#18556 Rebased-From: 2aa48ed
Github-Pull: bitcoin#18556 Rebased-From: 1362be0
This commit removes the directory that is no longer used since bitcoin#16667. Github-Pull: bitcoin#18556 Rebased-From: 2aa48ed
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
Github-Pull: bitcoin#18556 Rebased-From: 1362be0
This commit removes the directory that is no longer used since bitcoin#16667. Github-Pull: bitcoin#18556 Rebased-From: 2aa48ed
2aa48ed refactor: Drop unused ${WRAP_DIR}/${HOST} directory (Hennadii Stepanov) 1362be0 build: Drop make dist in gitian builds (Hennadii Stepanov) Pull request description: After the merge of bitcoin#18331, the packaged source tarball is created by `git archive`, but the binaries are built from another one which is made by `make dist`. With this PR the only source tarball, created by `git archive`, is used both for binaries building and for packaging to users. Close bitcoin#16588. Close bitcoin#18547. As a good side-effect, bitcoin#18349 becomes redundant. **Change in behavior** The following variables https://github.com/bitcoin/bitcoin/blob/1b151e3ffce7c1a2ee46bf280cc1d96775d1f91e/configure.ac#L2-L6 are no longer used for naming of directories and tarballs. Instead of them the gitian descriptors use a git tag (if available) or a commit hash. --- Also a small refactor commit picked from bitcoin#18404. ACKs for top commit: dongcarl: ACK 2aa48ed MarcoFalke: ACK 2aa48ed fanquake: ACK 2aa48ed - I've had a quick look over this, and don't want to block merging if this actually gets as closer to finally having this all sorted out. Obviously we've still got bitcoin#18741, and after speaking to Carl this morning, there will likely be even more changes after that (not Guix specific). Tree-SHA512: d3b16f87e48d1790a3264940c28acd5d881bfd10f3ce94fb0c8a6af76d8039289d01e0cd4972adac49ae24362857251f6c1e5e09e3e9fbf636c10708b4015a7c
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
2aa48ed refactor: Drop unused ${WRAP_DIR}/${HOST} directory (Hennadii Stepanov) 1362be0 build: Drop make dist in gitian builds (Hennadii Stepanov) Pull request description: After the merge of bitcoin#18331, the packaged source tarball is created by `git archive`, but the binaries are built from another one which is made by `make dist`. With this PR the only source tarball, created by `git archive`, is used both for binaries building and for packaging to users. Close bitcoin#16588. Close bitcoin#18547. As a good side-effect, bitcoin#18349 becomes redundant. **Change in behavior** The following variables https://github.com/bitcoin/bitcoin/blob/1b151e3ffce7c1a2ee46bf280cc1d96775d1f91e/configure.ac#L2-L6 are no longer used for naming of directories and tarballs. Instead of them the gitian descriptors use a git tag (if available) or a commit hash. --- Also a small refactor commit picked from bitcoin#18404. ACKs for top commit: dongcarl: ACK 2aa48ed MarcoFalke: ACK 2aa48ed fanquake: ACK 2aa48ed - I've had a quick look over this, and don't want to block merging if this actually gets as closer to finally having this all sorted out. Obviously we've still got bitcoin#18741, and after speaking to Carl this morning, there will likely be even more changes after that (not Guix specific). Tree-SHA512: d3b16f87e48d1790a3264940c28acd5d881bfd10f3ce94fb0c8a6af76d8039289d01e0cd4972adac49ae24362857251f6c1e5e09e3e9fbf636c10708b4015a7c
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
2aa48ed refactor: Drop unused ${WRAP_DIR}/${HOST} directory (Hennadii Stepanov) 1362be0 build: Drop make dist in gitian builds (Hennadii Stepanov) Pull request description: After the merge of bitcoin#18331, the packaged source tarball is created by `git archive`, but the binaries are built from another one which is made by `make dist`. With this PR the only source tarball, created by `git archive`, is used both for binaries building and for packaging to users. Close bitcoin#16588. Close bitcoin#18547. As a good side-effect, bitcoin#18349 becomes redundant. **Change in behavior** The following variables https://github.com/bitcoin/bitcoin/blob/1b151e3ffce7c1a2ee46bf280cc1d96775d1f91e/configure.ac#L2-L6 are no longer used for naming of directories and tarballs. Instead of them the gitian descriptors use a git tag (if available) or a commit hash. --- Also a small refactor commit picked from bitcoin#18404. ACKs for top commit: dongcarl: ACK 2aa48ed MarcoFalke: ACK 2aa48ed fanquake: ACK 2aa48ed - I've had a quick look over this, and don't want to block merging if this actually gets as closer to finally having this all sorted out. Obviously we've still got bitcoin#18741, and after speaking to Carl this morning, there will likely be even more changes after that (not Guix specific). Tree-SHA512: d3b16f87e48d1790a3264940c28acd5d881bfd10f3ce94fb0c8a6af76d8039289d01e0cd4972adac49ae24362857251f6c1e5e09e3e9fbf636c10708b4015a7c
bfe1ba2 rel-builds: Specify core.abbrev for git-rev-parse (Carl Dong) 27e63e0 build: Accomodate makensis v2.x (Carl Dong) 1f2c39a guix: Remove logical cores requirement (Carl Dong) a4f6ffa lint: Also enable source statements for non-gitian (Carl Dong) d256f91 rel-builds: Directly deploy win installer to OUTDIR (Carl Dong) fa791da nsis: Specify OutFile path only once (Carl Dong) 1470160 guix: Expose GIT_COMMON_DIR in container as readonly (Carl Dong) f5a6ac4 guix: Make source tarball using git-archive (Carl Dong) 395c113 gitian: Limit sourced script to just assignments (Carl Dong) Pull request description: Based on: bitcoin#18556 Related: bitcoin#17595 (comment) ACKs for top commit: fanquake: ACK bfe1ba2 - I agree with Carl, and am going to merge this. I'd like for Linux Guix builds to be working again, and we can rebase bitcoin#18818. Tree-SHA512: c87ada7e3de17ca0b692a91029b86573442ded5780fc081c214773f6b374a0cdbeaf6f6898c36669c2e247ee32aa7f82defb1180f8decac52c65f0c140f18674
After the merge of #18331, the packaged source tarball is created by
git archive
, but the binaries are built from another one which is made bymake dist
.With this PR the only source tarball, created by
git archive
, is used both for binaries building and for packaging to users.Close #16588.
Close #18547.
As a good side-effect, #18349 becomes redundant.
Change in behavior
The following variables
bitcoin/configure.ac
Lines 2 to 6 in 1b151e3
are no longer used for naming of directories and tarballs.
Instead of them the gitian descriptors use a git tag (if available) or a commit hash.
Also a small refactor commit picked from #18404.