Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
bb1bf8c
ci: add initial ci scripts
ben-laird Nov 17, 2025
4bb8397
ci: add repo checkout steps (duh)
ben-laird Nov 17, 2025
39b7c24
ci: add dependency caching, polish other steps
ben-laird Nov 17, 2025
31a9983
ci: add fn-setup reusable workflow
ben-laird Nov 17, 2025
84a3dce
ci: debug deno directory
ben-laird Nov 17, 2025
00aae3a
ci: test out whether specifying DENO_DIR makes caching work properly
ben-laird Nov 17, 2025
4599439
ci: add DENO_DIR env variable to Set up Deno action
ben-laird Nov 17, 2025
36f608d
ci: switch up debugging, remove DENO_DIR
ben-laird Nov 17, 2025
fa9d203
ci: change debug command
ben-laird Nov 17, 2025
0c1e197
ci: try using cache dir from cache action docs
ben-laird Nov 17, 2025
28d3fcd
ci: update setup fn workflow with fixes from ci workflow
ben-laird Nov 17, 2025
2b4d0c1
ci: refactor ci workflow to use setup fn workflow and run tests
ben-laird Nov 17, 2025
b989437
ci: move checkout action to outside workflow fn
ben-laird Nov 17, 2025
7c8a608
ci: fix using workflow fn
ben-laird Nov 17, 2025
0186cd5
ci: remove preflight
ben-laird Nov 17, 2025
5191bf3
ci: rename CI workflow to proper file extension
ben-laird Nov 17, 2025
7a82cae
ci: rename setup fn workflow to proper file extension
ben-laird Nov 17, 2025
fff4dbd
ci: create fn-setup composite workflow
ben-laird Nov 17, 2025
b4ebb94
ci: try using composite workflow instead of reusable workflow
ben-laird Nov 17, 2025
6da686d
ci: supply paths to deno deps cache action
ben-laird Nov 17, 2025
35b1746
ci: clean up naming
ben-laird Nov 17, 2025
58604d5
ci: debug: what happens when we remove the deps cache
ben-laird Nov 17, 2025
4bd3d87
ci: debug: now what happens if we take away the cache hash
ben-laird Nov 17, 2025
136600f
ci: simplify everything back down to a single CI workflow
ben-laird Nov 17, 2025
ae2c41f
ci: be sure to check out repository again
ben-laird Nov 17, 2025
0a62ace
ci: debug: what happens when we remove deps cache
ben-laird Nov 17, 2025
3e2132c
ci: debug: what happens when we take out explicit caching and only sp…
ben-laird Nov 17, 2025
712ad90
ci: debug: what happens when we use it for both
ben-laird Nov 17, 2025
6e787e1
ci: officially remove vestigial caching
ben-laird Nov 17, 2025
084c16e
ci: debug: what happens when we disable caching for test job
ben-laird Nov 17, 2025
5f65b7e
ci: reactivate test job caching
ben-laird Nov 17, 2025
0ca7232
ci: remove redundant runner.os parameter
ben-laird Nov 17, 2025
ac36641
ci: debug: what happens when we omit installing deps in test job
ben-laird Nov 17, 2025
3d4e730
ci: officially remove vestigial deno install
ben-laird Nov 17, 2025
026ac44
ci: remove vestigial id props
ben-laird Nov 17, 2025
5290965
ci: add biome linting step
ben-laird Nov 17, 2025
53b9431
ci: clarify when CI workflow runs
ben-laird Nov 17, 2025
c47d4ed
ci: make deno permissions stricter
ben-laird Nov 17, 2025
64fd474
ci: broaden scopes to original breadth
ben-laird Nov 17, 2025
6cbc34b
ci: add check command
ben-laird Nov 17, 2025
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
80 changes: 80 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: CI

on:
push:
pull_request:

env:
# Used to differentiate from other slices of the cache for other workflow runs, and to forcefully bust the cache when renamed
CACHE_KEY_BASE: ci@v1

jobs:
setup:
name: Setup
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.x
cache-hash: ${{ env.CACHE_KEY_BASE }}-${{ hashFiles('deno.lock') }}

- name: Install dependencies
run: deno install

test:
name: Test
needs: [setup]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

# Now the Deno cache should be warmed up, so this should be much faster
- name: Set up Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.x
cache-hash: ${{ env.CACHE_KEY_BASE }}-${{ hashFiles('deno.lock') }}

- name: Test
run: deno test --allow-read --no-prompt

lint:
name: Lint
needs: [setup]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

# Now the Deno cache should be warmed up, so this should be much faster
- name: Set up Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.x
cache-hash: ${{ env.CACHE_KEY_BASE }}-${{ hashFiles('deno.lock') }}

- name: Lint
run: deno run --allow-env --allow-run --no-prompt npm:@biomejs/biome ci

check:
name: Check
needs: [setup]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5

# Now the Deno cache should be warmed up, so this should be much faster
- name: Set up Deno
uses: denoland/setup-deno@v2
with:
deno-version: 2.x
cache-hash: ${{ env.CACHE_KEY_BASE }}-${{ hashFiles('deno.lock') }}

- name: Lint
run: deno check
1 change: 1 addition & 0 deletions deno.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.