GithubHelp home page GithubHelp logo

Periodic check of links about documentation HOT 7 OPEN

enolfc avatar enolfc commented on August 23, 2024 2
Periodic check of links

from documentation.

Comments (7)

enolfc avatar enolfc commented on August 23, 2024 1

yes and this is partially done (missing opening an issue if scheduled check fails)
See https://github.com/EGI-Federation/documentation/blob/main/.github/workflows/check-links.yml

from documentation.

brucellino avatar brucellino commented on August 23, 2024

Hi! I might be able to look at this as a quick exercise to get myself familiar. Are you thinking about a cron trigger here to run one of the actions included in the existing workflow, or an outside agent which monitors the pages for missing links and opens issues against them?

from documentation.

enolfc avatar enolfc commented on August 23, 2024

There is already some regular checks of the links, but the result is an email that gets ignored in my inbox. See last execution https://github.com/EGI-Federation/documentation/actions/runs/7948069227. It would be good to open an issue indeed instead of just getting the notification about broke execution

from documentation.

brucellino avatar brucellino commented on August 23, 2024

Hm. 14 minutes for a run. Sound like something you want to do asynch. I don't suppose we deploy this to a staging environment perhaps?

from documentation.

enolfc avatar enolfc commented on August 23, 2024

15 minutes is checking every link on the repo. For PRs, only links within the changed files are checked, so it goes rather fast. Fixing the broken links will also reduce greatly the run (you just avoid hitting the timeouts for the broken links).

from documentation.

brucellino avatar brucellino commented on August 23, 2024

As I understood, there are links outside of this repo, which we do not control -- just plain dead links -- which we need to monitor for right?

So we can have the fast checks run only on the page that has changed -- we can parametrise this and it will run in seconds. But we don't have a trigger for changes which happen outside of the repo, so we need to schedule regular crawls for that (once a week, e.g.).

graph LR
  subgraph PR
    direction TB
    page[page changes] --> check_page[Check links in page] 
  end

  subgraph Cron
    direction TB
    cron[Scheduled check] --> check_all[Check all links in all pages]
  end

Loading

Failures on the cron path can open issues. Failures on the PR path break the build.

Sound right?

from documentation.

brucellino avatar brucellino commented on August 23, 2024

nice. So, todo is:

  1. Open issue if cron fails
  2. only check links in changed file which has changed in PR (Looks like that goes in .github/workflows/build_pr_preview.yml ?).. that sounds like a job for a pre-commit hook -- see #635

from documentation.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.