-
Notifications
You must be signed in to change notification settings - Fork 1
chore: Add link check action #66
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
Changes from all commits
b2deee4
68b0e7c
da2d6bc
0f4405d
eacc1f6
7c5d5d5
b51906a
e4aec74
f4565be
f2d5374
0714627
142ac3b
ddffa18
e26cb9a
840ea21
7e4d693
20e6899
ca92572
821cac6
91b283f
3d3a529
5980fb5
9740b21
92dcd6f
5054131
5f737c3
e118b14
3770108
54ed883
ed32991
3daa1d6
dee41cc
a5e56a0
0ce9730
710f0fc
d5711cd
acb306a
405dfb2
9619309
429b2f9
ac2b000
1d62252
6b7aa3b
b8fff78
91cd3c7
a37f1ba
8eeec11
922ab2e
dcbdbe4
cd1b2ac
c2488f4
07c7613
27a8eed
7eb2de6
2600f62
2aa6684
2867cf8
3594fda
ccd6bc0
4156ecb
8560fdd
cc710c1
c9c7074
473a7f6
cb11e9d
01498e3
e15875a
23dca34
8fb3ba5
b66924a
bece8da
1ab874f
6eed1d1
029b9d4
fb96d81
0aa706b
b6a340d
81fdb0b
4823b94
d33f22e
13c910e
6808040
28f4037
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,46 @@ | ||||||||||||||||||||||||||||
| # Check links in documentation on every push and pull request | ||||||||||||||||||||||||||||
| # Uses Lychee link checker to find broken links | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| name: Check Links | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||
| workflow_dispatch: | ||||||||||||||||||||||||||||
| schedule: | ||||||||||||||||||||||||||||
| # Run weekly on Sunday at 0 AM UTC to catch external link changes | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
| # Run weekly on Sunday at 0 AM UTC to catch external link changes | |
| # Run weekly on Sunday at 09:00 UTC to catch external link changes |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Workflow permissions are broader than necessary: nothing in this workflow currently uses pull-requests: write, and issues: write is only needed for the scheduled run that creates an issue. Consider removing pull-requests: write and scoping issues: write to only the job/step that needs it (or guarding via a separate job) to follow least-privilege.
| pull-requests: write | |
| issues: write | |
| jobs: | |
| lychee: | |
| runs-on: ubuntu-latest | |
| jobs: | |
| lychee: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| issues: write |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The args/comment don’t match: the comment says only docs/ and README.md, but the args include '**/*.md' which already covers those and will also scan every Markdown file in the repo. Either drop the redundant globs or update the comment (and consider restricting to the intended paths to reduce runtime/noise).
| # Check all markdown files in docs/ and README.md | |
| args: --verbose --no-progress --exclude-private 'docs/**/*.md' 'README.md' '**/*.md' | |
| # Check all Markdown files in the repository | |
| args: --verbose --no-progress --exclude-private '**/*.md' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| nav: | ||
| - Home: index.md | ||
| - Calypr: calypr/ | ||
| - Tools: tools/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| title: Calypr | ||
| nav: | ||
| - Quick Start Guide: quick-start.md | ||
| - Troubleshooting & FAQ: troubleshooting.md | ||
| - Data Management: data-management/ | ||
| - Analysis: analysis/ | ||
| - Data Model: data-model/ | ||
| - Project Management: project-management/ | ||
| - Calypr Admin: calypr-admin/ | ||
| - Website: website/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| nav: | ||
| - Data Querying + Gen3 SDK: query.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| nav: | ||
| - Add users: add-users.md | ||
| - Role Based Access Control: approve-requests.md | ||
| - Creating a Project: creating-project.md |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| --- | ||
| title: Creating a Project | ||
| --- | ||
|
|
||
| ## CLI | ||
|
|
||
| ```bash | ||
| $ git drs init --help | ||
|
|
||
| Usage: git drs init [OPTIONS] [PROJECT_ID] | ||
|
|
||
| Initialize a new repository. | ||
|
|
||
| Options: | ||
| --debug Enable debug mode. G3T_DEBUG environment variable can also be used. | ||
| --help Show this message and exit. | ||
| ``` | ||
|
|
||
| ## Overview | ||
| The `git drs init` command initializes a new project in your current working directory. It works with existing files in the directory and creates a couple important directories: | ||
|
|
||
| * `META/`: A visible directory within your project that houses the FHIR metadata files. | ||
| * `CONFIG/`: Any additional configurations that can be used to customize the gen3 data platform. | ||
|
|
||
| An initialized project will look something like this... | ||
|
|
||
| ``` | ||
| . | ||
| ├── .git // git repository state | ||
| ├── META // metadata in FHIR format | ||
| ├── CONFIG | ||
| └── <your data here> // existing data files maintained | ||
| └── ... | ||
| ``` | ||
|
|
||
| ## Choosing a Project ID | ||
|
|
||
| > In a Gen3 Data Commons, programs and projects are two administrative nodes in the graph database that serve as the most upstream nodes. A program must be created first, followed by a project. Any subsequent data submission and data access, along with control of access to data, is done through the project scope. | ||
| > [more](https://gen3.org/resources/operator/#6-programs-and-projects) | ||
|
|
||
| A project ID initializes a unique project, taking the form of program-project. A project ID is significant because it determines the location of the remote repository, bucket storage, and access control. Project IDs have a set of constraints, particularly the program name is predefined by the institution, while the project name must be unique within the server and alphanumeric without spaces. Contact an admin for a list of supported program names. | ||
|
|
||
| ### Authorization | ||
| While you can work with an initialized repository locally, **an authorized user will need to sign** the project request before you can push your project to the data platform. You can confirm your project authorization with `git drs ping` | ||
|
|
||
| ## Next steps | ||
|
|
||
| - [Adding data to a project](../calypr-projects/add-files.md) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| nav: | ||
| - Git-DRS: git-drs.md | ||
| - Managing Metadata: meta-data.md | ||
| - Adding FHIR metadata: metadata.md | ||
| - Common Errors: common-errors.md | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| # Common Errors | ||
|
|
||
| ## .ndjson is out of date | ||
| **Error:** After `git-drs` adding and committing a file, when you go to submit your data, "DocumentReference.ndjson is out of date", | ||
| ```sh | ||
| $ git add file.txt | ||
| $ git commit -m "adding file.txt" | ||
| $ git push | ||
| Please correct issues before pushing. | ||
| Command `git drs status` failed with error code 1, stderr: WARNING: DocumentReference.ndjson is out of date 1969-12-31T16:00:00. The most recently changed file is MANIFEST/file.txt.dvc 2025-02-28T09:24:46.283870. Please check DocumentReferences.ndjson | ||
| No data file changes. | ||
| ``` | ||
|
|
||
| ``` | ||
| $ forge meta init | ||
| DocumentReference file not found at META/DocumentReference.ndjson. Creating a new one with new records. | ||
| Processed 600 records | ||
| Finished writing all DocumentReference records. | ||
| Finished writing all Directory records. | ||
| ``` | ||
|
|
||
| To better understand the process of adding file metadata through the manifest, see [adding file metadata](add-files.md) and [adding FHIR metadata](metadata.md). | ||
|
|
||
| ## No new files to index | ||
|
|
||
| **Error:** | ||
| ```sh | ||
| $ git drs push | ||
| No new files to index. Use --overwrite to force | ||
| ``` | ||
|
|
||
| **Resolution:** When pushing data, `git-drs` checks the manifest (`MANIFEST/` directory) to see if there are any files to update, including new files or modified files. If no files have been modified, then the push will not go through. To push up the same file data or push up new FHIR metadata (`META/`), use `git drs push --overwrite` | ||
|
|
||
| ## Uncommitted changes | ||
|
|
||
| **Error:** On the subsequent rounds of adding files, updating FHIR metadata, and committing the changes, you are unable to push up those new changes | ||
| ``` | ||
| $ git drs add hello.txt | ||
| $ forge meta init | ||
| $ git commit -m "add hello file" | ||
|
|
||
| $ git drs push | ||
| Uncommitted changes found. Please commit or stash them first. | ||
|
|
||
| $ git drs status | ||
| No data file changes. | ||
| On branch main | ||
| Changes not staged for commit: | ||
| ... | ||
| modified: META/DocumentReference.ndjson | ||
| ``` | ||
|
|
||
| **Resolution:** This happened because the update FHIR metadata created in the META init was not staged for commit. To stage and commit the FHIR metadata, do: | ||
|
|
||
| ```sh | ||
| $ git add META/ | ||
| $ git commit -m "update DocumentReference.json" | ||
| $ git drs push | ||
| ``` | ||
|
|
||
| Note that `git add` is used here rather than `git drs add` because `git add` will update the project's FHIR metadata while `git drs add` only updates the project's manifest. If you want to commit multiple file changes, you can also use `git commit -am "update all files"`, where all changes get committed to the project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow header says it runs on pull requests, but the triggers only include push/workflow_dispatch/schedule. Add a pull_request trigger (optionally restricted to relevant paths) or update the comment to match the actual behavior.