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

Add GitHub Action to check links #66

Merged
merged 35 commits into from
Nov 16, 2022
Merged

Add GitHub Action to check links #66

merged 35 commits into from
Nov 16, 2022

Conversation

MakisH
Copy link
Member

@MakisH MakisH commented Jun 29, 2021

This follows the same system used in the tutorials and openfoam-adapter to check links.

In order to avoid getting too many false negatives, I am ignoring status 429 ("too many requests") and 200 ("OK").

In later commits in this PR, I will also fix currently broken links. Related to Closes #62.

See also precice/tutorials#206 and precice/openfoam-adapter#169.

@@ -1,6 +1,6 @@
---
title: "Time stepping algorithms for partitioned multi-scale multi-physics in preCICE"
pub-url: http://www.eccm-ecfd2018.org/admin/files/filePaper/p1640.pdf
pub-url: http://congress.cimne.com/eccm_ecfd2018/admin/files/filePaper/p1640.pdf
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to all interested: ECCM-ECFD2018 moved their website and abstracts. Check if you have anything linking to that.

* [Tutorial for CHT with OpenFOAM and CalculiX](https://github.com/precice/precice/wiki/Tutorial-for-CHT-with-OpenFOAM-and-CalculiX): Flow in a shell-and-tube heat exchanger
* [Tutorial for FSI with OpenFOAM and CalculiX](https://github.com/precice/precice/wiki/Tutorial-for-FSI-with-OpenFOAM-and-CalculiX): Flow in a channel with an elastic flap, either perpendicular, or parallel to the flow and attached to a cylinder.
* [Tutorial on structure-structure coupling](https://github.com/precice/precice/wiki/Tutorial-for-SSI-with-CalculiX): Elastic beam artificially cut into two halves.
4. Follow a [tutorial](tutorials.html).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed these specific tutorials links because they very easily get outdated.

@@ -1,6 +1,6 @@
---
title: "FSI*ce -- A Modular Simulation Environment for Fluid-Structure Interactions"
pub-url: http://www5.in.tum.de/pub/int/mehl_gatzhammer_fsiherrsching08.pdf
pub-url: http://www.uni-kassel.de/upress/online/frei/978-3-89958-666-4.volltext.frei.pdf
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved, since the www5.in.tum.de/pub/int is not publicly available.

@@ -15,21 +15,21 @@ For each two participants that should exchange data, you have to define an m2n c

This establishes an `m2n` (i.e. parallel, from the M processes of the one participant to the N processes of the other) communication channel based on TCP/IP `sockets` between `MySolver1` and `MySolver2`.

For certain systems, you need to specify the network over which the TCP/IP sockets get connected: `network="..."`. It defaults to `"lo"`. For some clusters, you could use the infiniband, e.g. `"ib0"`. macOS is also a [special case](macOS).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This GitHub Action does not check such local links. It also did not catch the TODO (but I searched and fixed all of the TODO ones).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See open feature request: tcort/markdown-link-check#91

@MakisH MakisH requested a review from fsimonis November 14, 2022 23:46
@MakisH
Copy link
Member Author

MakisH commented Nov 14, 2022

I give up with the automatic solution for now. I have added the GitHub Action and several exceptions and we can still run it manually via the Actions menu.

Open issues:

  • It fails for our local links. I could still set a replacePattern to prepend the site address to every local file, but I am not sure how to match those. I tried matching everything that does not start with http or https, but I am completely illiterate concerning regex.
  • It fails for our testimonials, since the checker seems to have an issue with quotes. Replacement patterns may still be a solution there.

@fsimonis any ideas on improving this situation? Please don't spend more than a few minutes, it's a rabbit hole.

I have still fixed many links and incorporated the links fixed in #154. Note that #154 (using a different checker) also seemed to fail for some links (logs not available anymore).

At the end of the day, it is easier to use an external tool such as https://www.deadlinkchecker.com/ (randomly discovered, seems to work)

@fsimonis
Copy link
Member

fsimonis commented Nov 15, 2022

Shall we maybe use https://jekyllrb.com/docs/liquid/tags/#links ?
But this will not work properly when viewed in the web interface of github

@MakisH
Copy link
Member Author

MakisH commented Nov 16, 2022

Shall we maybe use https://jekyllrb.com/docs/liquid/tags/#links ? But this will not work properly when viewed in the web interface of github

This sounds like a larger discussion, as we would need to change all links. I also thought of making them all start with / or ./, which would make the pattern easier.

Let's merge this for now and we can build upon it later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Dead links in "Communication configuration" page
2 participants