Skip to content

ci: reenable link checker & fix broken links #15489

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

Merged
merged 1 commit into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions .github/.linkspector.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
dirs:
- docs
excludedDirs:
# Downstream bug in linkspector means large markdown files fail to parse
# but these are autogenerated and shouldn't need checking
Copy link
Member Author

@ethanndickson ethanndickson Nov 13, 2024

Choose a reason for hiding this comment

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

- docs/reference
# Older changelogs may contain broken links
- docs/changelogs
ignorePatterns:
- pattern: "://localhost"
- pattern: '://.*.?example\\.com'
- pattern: "github.com/<your_github_handle>"
- pattern: "localhost"
- pattern: "example.com"
- pattern: "mailto:"
- pattern: "127.0.0.1"
- pattern: "0.0.0.0"
- pattern: "JFROG_URL"
- pattern: "coder.company.org"
# These real sites were blocking the linkspector action / GitHub runner IPs(?)
- pattern: "i.imgur.com"
- pattern: "code.visualstudio.com"
- pattern: "www.emacswiki.org"
aliveStatusCodes:
- 200
11 changes: 6 additions & 5 deletions .github/workflows/weekly-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ on:
schedule:
- cron: "0 9 * * 1"
workflow_dispatch: # allows to run manually for testing
# pull_request:
# branches:
# - main
# paths:
# - "docs/**"
pull_request:
branches:
- main
paths:
- "docs/**"

permissions:
contents: read
Expand All @@ -33,6 +33,7 @@ jobs:
reporter: github-pr-review
config_file: ".github/.linkspector.yml"
fail_on_error: "true"
filter_mode: "nofilter"
Copy link
Member Author

@ethanndickson ethanndickson Nov 13, 2024

Choose a reason for hiding this comment

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

I incorrectly assumed that the weekly-docs job being started from the cron job would mean it wouldn't use the pull request changes filter, but evidently not. This means it checks the whole docs folder for the cron job & on PRs. It complained about the emacs link on this PR, even though it wasn't included in the diff, so I'm more confident that it works properly now.

Copy link
Member

Choose a reason for hiding this comment

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

So on schedule, we check the whole repo?
What does the filter_mode mean?

Copy link
Member Author

Choose a reason for hiding this comment

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

The default filter_mode was just the PR diff. Now it should be everything mentioned in the .linkspector.yml config.


- name: Send Slack notification
if: failure() && github.event_name == 'schedule'
Expand Down
4 changes: 2 additions & 2 deletions docs/admin/infrastructure/scale-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ capabilities, allowing Coder to efficiently deploy, scale, and manage workspaces
across a distributed infrastructure. This ensures high availability, fault
tolerance, and scalability for Coder deployments. Coder is deployed on this
cluster using the
[Helm chart](../../install/kubernetes.md#install-coder-with-helm).
[Helm chart](../../install/kubernetes.md#4-install-coder-with-helm).

## Methodology

Expand Down Expand Up @@ -113,7 +113,7 @@ on the workload size to ensure deployment stability.
#### CPU and memory usage

Enabling
[agent stats collection](../../reference/cli/index.md#--prometheus-collect-agent-stats)
[agent stats collection](../../reference/cli/server.md#--prometheus-collect-agent-stats)
(optional) may increase memory consumption.

Enabling direct connections between users and workspace agents (apps or SSH
Expand Down
2 changes: 1 addition & 1 deletion docs/admin/integrations/kubernetes-logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ or deployment, such as:
[`kubernetes_deployment`](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/deployment)
Terraform resource, which requires the `coder` service account to have
permission to create deployments. For example, if you use
[Helm](../../install/kubernetes.md#install-coder-with-helm) to install Coder,
[Helm](../../install/kubernetes.md#4-install-coder-with-helm) to install Coder,
you should set `coder.serviceAccount.enableDeployments=true` in your
`values.yaml`

Expand Down
2 changes: 1 addition & 1 deletion docs/admin/networking/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ In order for clients to be able to establish direct connections:
communicate with each other using their locally assigned IP addresses, then a
direct connection can be established immediately. Otherwise, the client and
agent will contact
[the configured STUN servers](../../reference/cli/server.md#derp-server-stun-addresses)
[the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses)
to try and determine which `ip:port` can be used to communicate with their
counterpart. See [STUN and NAT](./stun.md) for more details on how this
process works.
Expand Down
3 changes: 2 additions & 1 deletion docs/admin/networking/workspace-proxies.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ Workspace proxies provide low-latency experiences for geo-distributed teams.

Coder's networking does a best effort to make direct connections to a workspace.
In situations where this is not possible, such as connections via the web
terminal and [web IDEs](../../user-guides/workspace-access/index.md#web-ides),
terminal and
[web IDEs](../../user-guides/workspace-access/index.md#other-web-ides),
workspace proxies are able to reduce the amount of distance the network traffic
needs to travel.

Expand Down
10 changes: 5 additions & 5 deletions docs/admin/provisioners.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# External provisioners

By default, the Coder server runs
[built-in provisioner daemons](../reference/cli/server.md#provisioner-daemons),
[built-in provisioner daemons](../reference/cli/server.md#--provisioner-daemons),
which execute `terraform` during workspace and template builds. However, there
are often benefits to running external provisioner daemons:

Expand Down Expand Up @@ -235,17 +235,17 @@ This is illustrated in the below table:

Provisioners can broadly be categorized by scope: `organization` or `user`. The
scope of a provisioner can be specified with
[`-tag=scope=<scope>`](../reference/cli/provisioner_start.md#t---tag) when
[`-tag=scope=<scope>`](../reference/cli/provisioner_start.md#-t---tag) when
starting the provisioner daemon. Only users with at least the
[Template Admin](./users/index.md#roles) role or higher may create
organization-scoped provisioner daemons.

There are two exceptions:

- [Built-in provisioners](../reference/cli/server.md#provisioner-daemons) are
- [Built-in provisioners](../reference/cli/server.md#--provisioner-daemons) are
always organization-scoped.
- External provisioners started using a
[pre-shared key (PSK)](../reference/cli/provisioner_start.md#psk) are always
[pre-shared key (PSK)](../reference/cli/provisioner_start.md#--psk) are always
organization-scoped.

### Organization-Scoped Provisioners
Expand Down Expand Up @@ -369,7 +369,7 @@ docker run --rm -it \

As mentioned above, the Coder server will run built-in provisioners by default.
This can be disabled with a server-wide
[flag or environment variable](../reference/cli/server.md#provisioner-daemons).
[flag or environment variable](../reference/cli/server.md#--provisioner-daemons).

```sh
coder server --provisioner-daemons=0
Expand Down
2 changes: 1 addition & 1 deletion docs/admin/security/database-encryption.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ preventing attackers with database access from using them to impersonate users.
## How it works

Coder allows administrators to specify
[external token encryption keys](../../reference/cli/server.md#external-token-encryption-keys).
[external token encryption keys](../../reference/cli/server.md#--external-token-encryption-keys).
If configured, Coder will use these keys to encrypt external user tokens before
storing them in the database. The encryption algorithm used is AES-256-GCM with
a 32-byte key length.
Expand Down
2 changes: 1 addition & 1 deletion docs/admin/templates/creating-templates.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ You will then see your new template in the dashboard.
## From scratch (advanced)

There may be cases where you want to create a template from scratch. You can use
[any Terraform provider](https://registry.terraform.com) with Coder to create
[any Terraform provider](https://registry.terraform.io) with Coder to create
templates for additional clouds (e.g. Hetzner, Alibaba) or orchestrators
(VMware, Proxmox) that we do not provide example templates for.

Expand Down
2 changes: 1 addition & 1 deletion docs/admin/templates/managing-templates/schedule.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ to set the default quiet hours to a time when most users are not expected to be
using Coder.

Admins can force users to use the default quiet hours with the
[CODER_ALLOW_CUSTOM_QUIET_HOURS](../../../reference/cli/server.md#allow-custom-quiet-hours)
[CODER_ALLOW_CUSTOM_QUIET_HOURS](../../../reference/cli/server.md#--allow-custom-quiet-hours)
environment variable. Users will still be able to see the page, but will be
unable to set a custom time or timezone. If users have already set a custom
quiet hours schedule, it will be ignored and the default will be used instead.
5 changes: 2 additions & 3 deletions docs/admin/users/idp-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,9 +326,8 @@ the OIDC provider. See
> Depending on the OIDC provider, this claim may be named differently. Common
> ones include `groups`, `memberOf`, and `roles`.

Next configure the Coder server to read groups from the claim name with the
[OIDC organization field](../../reference/cli/server.md#--oidc-organization-field)
server flag:
Next configure the Coder server to read groups from the claim name with the OIDC
organization field server flag:

```sh
# as an environment variable
Expand Down
2 changes: 1 addition & 1 deletion docs/install/offline.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ provider_installation {

## Run offline via Docker

Follow our [docker-compose](./docker.md#run-coder-with-docker-compose)
Follow our [docker-compose](./docker.md#install-coder-via-docker-compose)
documentation and modify the docker-compose file to specify your custom Coder
image. Additionally, you can add a volume mount to add providers to the
filesystem mirror without re-building the image.
Expand Down
6 changes: 3 additions & 3 deletions docs/reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ activity.
}"
```

- [Manually send workspace activity](../reference/api/agents.md#submit-workspace-agent-stats):
- [Manually send workspace activity](../reference/api/workspaces.md#extend-workspace-deadline-by-id):
Keep a workspace "active," even if there is not an open connection (e.g. for a
long-running machine learning job).

Expand All @@ -94,10 +94,10 @@ activity.
do
if pgrep -f "my_training_script.py" > /dev/null
then
curl -X POST "https://coder.example.com/api/v2/workspaceagents/me/report-stats" \
curl -X POST "https://coder.example.com/api/v2/workspaces/$WORKSPACE_ID/extend" \
-H "Coder-Session-Token: $CODER_AGENT_TOKEN" \
-d '{
"connection_count": 1
"deadline": "2019-08-24T14:15:22Z"
}'

# Sleep for 30 minutes (1800 seconds) if the job is running
Expand Down
2 changes: 1 addition & 1 deletion docs/user-guides/workspace-access/vscode.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ extension, authenticates with Coder, and connects to the workspace.
![Demo](https://github.com/coder/vscode-coder/raw/main/demo.gif?raw=true)

> The `VS Code Desktop` button can be hidden by enabling
> [Browser-only connections](../../admin/networking/index.md#browser-only-connections-enterprise).
> [Browser-only connections](../../admin/networking/index.md#browser-only-connections-enterprise-premium).

### Manual Installation

Expand Down
4 changes: 2 additions & 2 deletions docs/user-guides/workspace-access/web-ides.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@ guide.
## SSH Fallback

If you prefer to run web IDEs in localhost, you can port forward using
[SSH](../index.md#ssh) or the Coder CLI `port-forward` sub-command. Some web
IDEs may not support URL base path adjustment so port forwarding is the only
[SSH](./index.md#ssh) or the Coder CLI `port-forward` sub-command. Some web IDEs
may not support URL base path adjustment so port forwarding is the only
approach.
3 changes: 2 additions & 1 deletion docs/user-guides/workspace-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ To set a workspace's schedule, go to the workspace, then **Settings** >
![Scheduling UI](../images/schedule.png)

Coder might also stop a workspace automatically if there is a
[template update](../admin/templates/index.md#Start/stop) available.
[template update](../admin/templates/managing-templates/index.md#updating-templates)
available.

Learn more about [workspace lifecycle](./workspace-lifecycle.md) and our
[scheduling features](./workspace-scheduling.md).
Expand Down
Loading