scravy
commented at 2:00 pm on August 3, 2018:
contributor
This PR is extracted from #13816 to make that one easier to review. It follows on #13849 and #13851
In here the shell script parts from travis.yml are extracted into .travis/before_install.sh, .travis/install.sh, .travis/before_script.sh, .travis/script.sh, and .travis/lint.sh.
This has the benefit that test/lint/lint-shell.sh will also shellcheck these parts. Also it makes the individual script parts more readable.
scravy renamed this:
Travis extract scripts
travis: move script sections to files in `.travis/` subject to shellcheck
on Aug 3, 2018
Empact
commented at 2:19 pm on August 3, 2018:
member
Concept ACK
practicalswift
commented at 2:28 pm on August 3, 2018:
contributor
Concept ACK
Very good idea!
MarcoFalke
commented at 2:37 pm on August 3, 2018:
member
ACK, this way we could also reset old travis pull request runs, since it is less likely that the travis.yml changed in the meantime.
fanquake added the label
Tests
on Aug 3, 2018
Empact
commented at 2:52 pm on August 3, 2018:
member
Could squash d3d19e39111f5a2b7318b8e80a1fbf61f3bb4f99 and d913a4b into 67eee3cc56e6b8014b73c07d8a064b5731a8239e
in
.travis/before_install.sh:3
in
d913a4bb01outdated
scravy
commented at 3:29 pm on August 3, 2018:
contributor
@MarcoFalke I’ve changed the names of the files according to your suggestion and added a README with the rationale/link to the travis documentation in d55d49c0f9c672327c4eea87aaa7b0f03381eebb
scravy force-pushed
on Aug 3, 2018
scravy
commented at 3:36 pm on August 3, 2018:
contributor
Now with the build steps numbered I moved the remaining steps too in a8803bd9e64e6416e6012c22eee849a20a64f633
Empact
commented at 3:40 pm on August 3, 2018:
member
Big issue with this PR: Travis - sections check the return code on a per-command basis. The newly sourced files do not, so failures are not detected unless you detect them in the script and propagate them to Travis.
nit: How about set -o errexit as more self-documenting?
scravy force-pushed
on Aug 3, 2018
scravy force-pushed
on Aug 3, 2018
DrahtBot
commented at 4:39 pm on August 3, 2018:
member
#13954 (lint: Check for common misspellings using codespell. Fix typos reported by codespell. by practicalswift)
#13845 (Include tinyformat as a subtree by Empact)
#13728 (Scripts and tools: Run the CI lint stage on mac and linux both by Empact)
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.
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy
commented at 6:46 pm on August 6, 2018:
contributor
rebased.
in between #13859 was merged, I’m now invoking python with LC_ALL=C.UTF_8 in a31bdfcb918469c9d0400a2bd8433fbfddcc411b as it requires that to interpret the emoji correctly. or parse the source file in the first place. Otherwise nothing changed.
in
.travis/test_04_install.sh:10
in
a31bdfcb91outdated
MarcoFalke
commented at 6:58 pm on August 6, 2018:
It is somewhat confusing to set LC_ALL=C.UTF-8 in the travis yaml, then set it to LC_ALL=C here, save it into a file, read that by docker, but then overwrite it again with LC_ALL=C.UTF-8 for the test runner.
The lint-shell-locale.sh requires scripts to set LC_ALL=C. I could change it to also accept LC_ALL=C.UTF-8.
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy force-pushed
on Aug 6, 2018
scravy
commented at 8:25 pm on August 6, 2018:
contributor
@MarcoFalke I’ve changed the scripts to export LC_ALL=C.UTF-8 and allowed that in lint-shell-locale in 50a51061fd04549625dedeed02bdf890548e3506 (rebased, now 54949499c1fdb860a6019d0b213b187e51a0a1b6)
scravy force-pushed
on Aug 7, 2018
scravy force-pushed
on Aug 7, 2018
scravy force-pushed
on Aug 7, 2018
Gnappuraz
commented at 1:10 pm on August 7, 2018:
contributor
utACK
scravy force-pushed
on Aug 7, 2018
scravy force-pushed
on Aug 7, 2018
in
test/lint/lint-shell-locale.sh:20
in
a8bf3c5a70outdated
16@@ -16,7 +17,7 @@ for SHELL_SCRIPT in $(git ls-files -- "*.sh" | grep -vE "src/(secp256k1|univalue
17 continue
18 fi
19 FIRST_NON_COMMENT_LINE=$(grep -vE '^(#.*|)$' "${SHELL_SCRIPT}" | head -1)
20- if [[ ${FIRST_NON_COMMENT_LINE} != "export LC_ALL=C" ]]; then
21+ if [[ ${FIRST_NON_COMMENT_LINE} != "export LC_ALL=C" && ${FIRST_NON_COMMENT_LINE} != "export LC_ALL=C.UTF-8" ]]; then
ken2812221
commented at 7:26 am on August 8, 2018:
nit: if [[ ! ${FIRST_NON_COMMENT_LINE} =~ "export LC_ALL=C"(|\.UTF-8)$ ]]; then
@scravy Oh, I think a simple if-statement is much clearer than the suggested case construction. I suggest reverting back to the original version which was perfectly fine and simple :-)
ken2812221
commented at 4:40 am on August 9, 2018:
contributor
utACKa8bf3c5a70e9924fd967d62a25915b68d2a6b0bc
scravy force-pushed
on Aug 9, 2018
scravy force-pushed
on Aug 10, 2018
scravy
commented at 9:04 am on August 10, 2018:
contributor
About conflicting pull requests:
#13845 will be part of 0.18 and won’t be merged soon
#13728 is fine and AFAICS ready to go and is perfectly reconcilable with this one (in deed this PR has it’s origin in #13816 which has very much the same spirit - running tests on os x natively)
#13515 has untackled review comments and an outstanding requested review
This one I just rebased.
scravy force-pushed
on Aug 15, 2018
scravy force-pushed
on Aug 15, 2018
scravy
commented at 12:56 pm on August 15, 2018:
contributor
Can this be merged or are there any more remarks/suggestions?
MarcoFalke
commented at 1:06 pm on August 15, 2018:
member
So I was wondering about that. If something touches the travis-definitions only – what is the difference between ACK and utACK here, what could I do to test it? I am rebasing this PR every day and the travis build works splendidly every time (except for this one time where everything in travis failed as it did not at all have any network connectivity).
Because I do not see what more I could do (as a reviewer) but look at travis whether it worked or not. Possibly I could imagine forking and pushing it in my own github-space and looking at travis for my repo, seeing if I can make it fail in the way it should fail (again, as a reviewer; obviously I did that but I’m the author).
I’m mostly asking out of curiosity.
MarcoFalke
commented at 3:09 pm on August 15, 2018:
member
Travis is completely useless when it passes every time. It must also detect any issues that are present and report them correctly.
scravy
commented at 3:30 pm on August 15, 2018:
contributor
Obviously it passes every time because there is no other development happening on this branch, and I’m rebasing against things which passed the CI check before. While reacting to change requests in the discussion in here it very well failed a few times.
For easier verification would it make sense to link these failing builds?
Again though, what is a reviewer supposed to do in order to test this? The only thing I can imagine is push it from your own repository to trigger a travis build for that and try to make it break there, right?
practicalswift
commented at 3:50 pm on August 15, 2018:
contributor
@scravy Yes, a good start would be your idea to try to cause each script to fail individually and verify that the build fails as expected. For the linting script - introduce a linting violation that should make it fail, etc :-)
DrahtBot added the label
Needs rebase
on Aug 27, 2018
move script sections info individual files and comply with shellcheck4f2f88c7b0
abort script in END_FOLD on non-zero exit code86d34f0e65
move lint stage up to resemble travis build ui
adjust indentation to 2 spaces
519e2739cf
number .travis/ script according to build lifecycle and add README to explain272306ea57
move remaining travis build steps into individual files506890b24d
make script exit if a command fails728c82d029
use export LC_ALL=C.UTF-8414326952c
scravy force-pushed
on Aug 27, 2018
DrahtBot removed the label
Needs rebase
on Aug 27, 2018
scravy
commented at 11:41 am on August 27, 2018:
contributor
Rebased.
scravy force-pushed
on Aug 27, 2018
scravy force-pushed
on Aug 27, 2018
scravy force-pushed
on Aug 27, 2018
scravy force-pushed
on Aug 27, 2018
scravy
commented at 12:27 pm on August 27, 2018:
contributor
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2025-04-05 12:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me