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

GitHub Actions: Check URLs using lychee #1169

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
36 changes: 36 additions & 0 deletions .github/workflows/check_urls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: 🌐 Check URLs
on:
push:
pull_request:
schedule:
# Every day at 18:00 UTC.
# URLs can decay over time. Setting up a schedule makes it possible to be warned
# about dead links as soon as possible.
- cron: "0 18 * * *"

jobs:
check-urls:
runs-on: ubuntu-24.04
steps:

- uses: actions/checkout@v4

- name: Restore lychee cache
uses: actions/cache@v4
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
restore-keys: cache-lychee-

- name: Run lychee
uses: lycheeverse/lychee-action@v2
with:
args: >
--base .
--no-progress
--cache
--max-cache-age 1d
"**/*.md" "**/*.gd" "**/*.cs" "**/*.tscn" "**/*.tres" "**/*.html"

- name: Fail if there were link errors
run: exit ${{ steps.lc.outputs.exit_code }}
30 changes: 30 additions & 0 deletions .lycheeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Don't read Godot's own URL schemes as web URLs.
user:\/\/.*
res:\/\/.*
uid:\/\/.*

# Don't read WebSockets or TCP URLs as web URLs.
ws(s?):\/\/.*
tcp:\/\/.*

# Security checks prevent checking the URLs of these websites automatically,
# typically returning 403 errors.
.*asecuritysite\.com.*
.*intel\.com.*
.*reddit\.com.*

# Don't check URLs from these websites due to frequent rate limits (error 429) or timeouts.
.*adobe\.com.*
.*gamedevartisan\.com.*
.*github\.com.*
.*gnu\.org.*
.*loopit\.dk.*
.*meta\.com.*
.*sourceforge\.io.*

# Not a valid URL with the GET method, which lychee always sends.
# Mentioned in the class reference.
.*httpbin\.org\/post

# Class reference mentions `example.com/index.php` in an example, which is 404.
.*example\.com.*
2 changes: 1 addition & 1 deletion 3d/ik/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Renderer: Forward+
## How does it work?

This demo shows how to implement IK using two different methods. One uses the
[`SkeletonIK`](https://docs.godotengine.org/en/latest/classes/class_skeletonik.html)
[`SkeletonIK3D`](https://docs.godotengine.org/en/latest/classes/class_skeletonik3d.html)
node which is built into Godot. The other method is using a script
called FABRIK (inside of the SADE plugin) for inverse kinematics.

Expand Down
1 change: 1 addition & 0 deletions 3d/platformer/coin/coin.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://b2kqvu7a5kiev
1 change: 1 addition & 0 deletions 3d/platformer/enemy/enemy.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://dwssf05sbkfak
1 change: 1 addition & 0 deletions 3d/platformer/player/bullet/bullet.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://c4p5enna2foh1
1 change: 1 addition & 0 deletions 3d/platformer/player/follow_camera.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bd03i5s1ufxt4
1 change: 1 addition & 0 deletions 3d/platformer/player/player.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://dl2fniviqap3d
Binary file added 3d/truck_town.zip
Binary file not shown.
4 changes: 2 additions & 2 deletions 3d/truck_town/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ Check out this demo on the asset library: https://godotengine.org/asset-library/
The base vehicle uses a
[`VehicleBody3D`](https://docs.godotengine.org/en/latest/classes/class_vehiclebody3d.html)
node. The trailer truck is tied together using a
[`ConeJointTwist`](https://docs.godotengine.org/en/latest/classes/class_conetwistjoint.html)
[`ConeJointTwist3D`](https://docs.godotengine.org/en/latest/classes/class_conetwistjoint3d.html)
node, and the tow truck is tried together using a chain made of
[`RigidBody3D`](https://docs.godotengine.org/en/latest/classes/class_rigidbody3d.html)
nodes which are pinned together using
[`PinJoint`](https://docs.godotengine.org/en/latest/classes/class_pinjoint.html) nodes.
[`PinJoint3D`](https://docs.godotengine.org/en/latest/classes/class_pinjoint3d.html) nodes.

## Screenshots

Expand Down
1 change: 1 addition & 0 deletions 3d/truck_town/car_select/car_select.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://cmy5ysrd0uix
3 changes: 3 additions & 0 deletions 3d/truck_town/node_3d.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[gd_scene format=3 uid="uid://dnh5gutor1ouh"]

[node name="Node3D" type="Node3D"]
1 change: 1 addition & 0 deletions 3d/truck_town/spedometer.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://c1fdkxn0hkfhm
1 change: 1 addition & 0 deletions 3d/truck_town/vehicles/follow_camera.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://bkh3fpsyns2tg
1 change: 1 addition & 0 deletions 3d/truck_town/vehicles/vehicle.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://cl58vajfqvbv
6 changes: 3 additions & 3 deletions 3d/voxel/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Check out this demo on the asset library: https://godotengine.org/asset-library/
Each chunk is a
[`StaticBody3D`](https://docs.godotengine.org/en/latest/classes/class_staticbody3d.html)
with each block having its own
[`CollisionShape`](https://docs.godotengine.org/en/latest/classes/class_collisionshape.html)
[`CollisionShape3D`](https://docs.godotengine.org/en/latest/classes/class_collisionshape3d.html)
for collisions. The meshes are created using
[`SurfaceTool`](https://docs.godotengine.org/en/latest/classes/class_surfacetool.html)
which allows specifying vertices, triangles, and UV coordinates
Expand All @@ -30,7 +30,7 @@ are two terrain types, random blocks and flat grass. A more
complex terrain generator is out-of-scope for this demo project.

The player can place and break blocks using the
[`RayCast`](https://docs.godotengine.org/en/latest/classes/class_raycast.html)
[`RayCast3D`](https://docs.godotengine.org/en/latest/classes/class_raycast3d.html)
node attached to the camera. It uses the collision information to
figure out the block position and change the block data. You can
switch the active block using the brackets or with the middle mouse button.
Expand All @@ -40,7 +40,7 @@ Settings are stored inside of an
[AutoLoad singleton](https://docs.godotengine.org/en/latest/getting_started/step_by_step/singletons_autoload.html)
called "Settings". This class will automatically save
settings, and load them when the game opens, by using the
[`File`](https://docs.godotengine.org/en/latest/classes/class_file.html) class.
[`FileAccess`](https://docs.godotengine.org/en/latest/classes/class_fileaccess.html) class.

Sticking to GDScript and the built-in Godot tools, as this demo does, is
quite limiting. If you are making your own voxel game, you should probably
Expand Down
1 change: 1 addition & 0 deletions gui/translation/translation_csv.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://dntebjgkpm5of
1 change: 1 addition & 0 deletions gui/translation/translation_po.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://dumdhngl4f3tj
1 change: 1 addition & 0 deletions misc/joypads/joypads.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://cqqj0ilvqka8m
1 change: 1 addition & 0 deletions misc/joypads/remap/joy_mapping.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://puavt2bpk0bt
1 change: 1 addition & 0 deletions misc/joypads/remap/remap_wizard.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://41ajashcuyil
1 change: 1 addition & 0 deletions misc/window_management/control.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://c3hoeavr06xco
1 change: 1 addition & 0 deletions misc/window_management/observer/observer.gd.uid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uid://dyc3sbymve26q