Skip to content

[INFRA] Use linkchecker (from a dedicated docker image) to check all URLs#293

Merged
sappelhoff merged 13 commits intobids-standard:masterfrom
yarikoptic:bf-links-docker
Aug 12, 2019
Merged

[INFRA] Use linkchecker (from a dedicated docker image) to check all URLs#293
sappelhoff merged 13 commits intobids-standard:masterfrom
yarikoptic:bf-links-docker

Conversation

@yarikoptic
Copy link
Copy Markdown
Collaborator

@yarikoptic yarikoptic commented Aug 2, 2019

Supersedes #79

TODOs

  • make sure it works
  • possibly change tag and transfer docker image under bids-standard organization on hub.docker.org
  • fix broken internal (anchored) URLs
  • add --check-extern option
  • fix broken external URLs
  • fixup what broke (thanks travis)

@yarikoptic yarikoptic force-pushed the bf-links-docker branch 4 times, most recently from bf13283 to 349e386 Compare August 5, 2019 13:47
@yarikoptic yarikoptic force-pushed the bf-links-docker branch 3 times, most recently from 5f8146d to f46ab03 Compare August 5, 2019 14:10
@yarikoptic
Copy link
Copy Markdown
Collaborator Author

@sappelhoff WOOHOO -- I finally won (and learned a bit of circle-ci spec ;)). Now I will fixup broken URLs to make it all green!

… readable -- demanded by linkchecker

- note: it is important to have trailing / after site/ for linkchecker
apparently my anchor fix to linkchecker is not complete.  In multithreaded mode
(the beauty of linkchecker) it brings up false positives reporting some anchors
which are valid.  See e.g.

https://circleci.com/gh/bids-standard/bids-specification/911?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link
@sappelhoff
Copy link
Copy Markdown
Member

super cool, thanks for investing the effort! This looks really good and your to-dos seem reasonable.

+1 to migrate the dockerimage to "bids": https://hub.docker.com/u/bids

@yarikoptic yarikoptic requested a review from chrisgorgo as a code owner August 5, 2019 14:51
@yarikoptic
Copy link
Copy Markdown
Collaborator Author

+1 to migrate the dockerimage to "bids": https://hub.docker.com/u/bids

should I just try to push there using the same name:tag or any recommendations ? (not sure if I have super powers for that, but can try)

@yarikoptic
Copy link
Copy Markdown
Collaborator Author

WOOHOO #2 -- all green! so I am done with this, besides may be pushing docker image to under bids/ on docker hub. Unfortunately the solution is not ideal (requires more fixups to linkchecker so threading is disabled) but seems to work.
If you see ways to improve -- you are welcome to push directly into my branch, I need to switch to other things todo.

@sappelhoff sappelhoff requested a review from effigies August 5, 2019 16:18
sappelhoff
sappelhoff previously approved these changes Aug 5, 2019
@yarikoptic
Copy link
Copy Markdown
Collaborator Author

ok, conflicts are piling up -- review/instructions from others to see this merged would be appreciated!

@yarikoptic
Copy link
Copy Markdown
Collaborator Author

attn: @sappelhoff

+1 to migrate the dockerimage to "bids": https://hub.docker.com/u/bids

should I just try to push there using the same name:tag or any recommendations ? (not sure if I have super powers for that, but can try)

* origin/master:
  [DOC] Auto-generate changelog entry for PR bids-standard#272
  Apply suggestions from code review
  reorder sections as chris suggested
  STY: Move to passive voice/imperative mood
  consistent use of <label>
  Apply suggestions from code review
  right align cells and formtting
  add general section on entities
  fix linter
  some cleanup/clarifying
  try links via tiny headings
  try fix links
  try links
  transpose entity table
@sappelhoff
Copy link
Copy Markdown
Member

I was leaving this open for a bit to see if other people want to review this @yarikoptic :-)

I have one open question: What is the point of tools/linkchecker-docker/neurodocker-build.sh?

@yarikoptic
Copy link
Copy Markdown
Collaborator Author

I was leaving this open for a bit to see if other people want to review this @yarikoptic :-)

I have one open question: What is the point of tools/linkchecker-docker/neurodocker-build.sh?

that is how that docker image recipe (Dockerfile) is built -- using neurodocker.
Benefits -- could be multiple, e.g. with slight tune up I could also build Singularity recipe, and neurodocker's recipe takes care about cleaning things up thus minimizing the image/layers.
I guess I could/should just save it and commit so people could build their own image without requiring neurodocker being installed?

@sappelhoff
Copy link
Copy Markdown
Member

that is how that docker image recipe (Dockerfile) is built -- using neurodocker.

okay, I had suspected something like this --> so is your docker image (linkchecker) calling this script? Because I don't see circleci calling it at any time 🤔

I guess I could/should just save it and commit so people could build their own image without requiring neurodocker being installed?

Could you please clarify what you mean by that?

@yarikoptic
Copy link
Copy Markdown
Collaborator Author

My image is specified for that run in circle ci config https://github.com/bids-standard/bids-specification/pull/293/files#diff-1d37e48f9ceff6d8030570cd36286a61R34

Now it is just pipped into docker build, so never saved. I could save it to a file and commit it first

@sappelhoff
Copy link
Copy Markdown
Member

My image is specified for that run in circle ci config

yes, but according to what I understand, this tells CircleCi to download your image from dockerhub

Now it is just pipped into docker build, so never saved. I could save it to a file and commit it first

I think I just don't understand why we need to add the build of the docker image to this repo 😕 ... what would break if we simply removed neurodocker-build.sh from the new tools/linkchecker-docker directory that you created?

@yarikoptic
Copy link
Copy Markdown
Collaborator Author

Now it is just pipped into docker build, so never saved. I could save it to a file and commit it first

I think I just don't understand why we need to add the build of the docker image to this repo ... what would break if we simply removed neurodocker-build.sh from the new tools/linkchecker-docker directory that you created?

it is not building docker image here on CI or travis anywhere. It is just the recipe on HOW that image could be built happen we need to update it (e.g. to a new patched or not version of linkchecker). without it, there would be no clear way on how to do that

@sappelhoff
Copy link
Copy Markdown
Member

it is not building docker image here on CI or travis anywhere. It is just the recipe on HOW that image could be built happen we need to update it (e.g. to a new patched or not version of linkchecker). without it, there would be no clear way on how to do that

Ahhh it's what you did prior to pushing the image to your dockerhub ... I got it. Thanks for explaining :-)

Now I'd be ready to merge this PR, but you mentioned something along the lines

I guess I could/should just save it and commit so people could build their own image without requiring neurodocker being installed?

--> My take on this is: People who would do this kind of stuff would have no issues getting neurodocker first ... so from my side, everything is fine. :-)

@sappelhoff
Copy link
Copy Markdown
Member

I don't want to delay this PR any further. All future improvements can be done in a separate PR,

this is a nice enhancement as it stands ... thank you very much @yarikoptic!

@sappelhoff sappelhoff merged commit fc2638c into bids-standard:master Aug 12, 2019
@yarikoptic
Copy link
Copy Markdown
Collaborator Author

THANKS!

@sappelhoff sappelhoff changed the title [INFRA+FIX] Use linkchecker (from a dedicated docker image) to check all URLs [INFRA] Use linkchecker (from a dedicated docker image) to check all URLs Jul 27, 2022
@yarikoptic yarikoptic deleted the bf-links-docker branch April 30, 2024 23:57
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.

2 participants