AlexsLemonade / refinebio-examples

Example workflows for refine.bio data
https://www.refine.bio
Other
10 stars 5 forks source link

GitHub Actions: Check URLs in refine.bio frontend and docs when merging to master #449

Closed jaclyn-taroni closed 2 years ago

jaclyn-taroni commented 3 years ago

Background

Borne out of discussion of #285. Before we made significant changes to the content and structure of examples, we created a release – v1.0 – so the links in our documentation and the frontend of refine.bio continued to work. When we link to a specific example, we use HTML Preview tied to that tag. If we link to a specific topic area (e.g., differential expression), we usually link to the directory on GitHub for that release because we used to organize examples by topic rather than by technology (e.g., https://github.com/AlexsLemonade/refinebio-examples/tree/v1.0/differential-expression).

My understanding of the rationale for #285 was that we thought we needed to continue to have releases for things to just work ™️ in places where we link to examples. That is not the case; we can use the GH pages URL instead.

Problem

Discussion around what's above revealed a different problem: if we link to specific examples as we plan to (see: https://github.com/AlexsLemonade/refinebio-frontend/issues/926 and https://github.com/AlexsLemonade/refinebio-docs/issues/138), things will break if the notebook names change. It seems plausible that notebook names will change if we do things like #242.

We need to have a way to ensure that any changes that we make here and push to master (publish to GH pages) do not break links on the frontend and in our documentation.

What are the recommended next steps?

@davidsmejia suggested that we write a GitHub action to check the links on the frontend and in the docs when we tried to merge to master. We'd want this to fail if, after the proposed changes, the frontend and docs links would 404.

Then you couldn't publish the changes until you fixed the frontend and the docs.

Is there a particular timeframe for this issue?

After we address the following, we'll want to have this working: