Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
be9bb7f
wip(tests): start nixos test integration
Eldolfin May 4, 2025
196862e
wip(tests): create package and nixos module/service
Eldolfin May 4, 2025
abd4c75
wip(tests): add homemanager to configure editors, start with helix
Eldolfin May 4, 2025
ba0d49b
feat(client): add clap, server_addr param
Eldolfin May 4, 2025
e0923dc
wip(tests): almost working simple test?
Eldolfin May 4, 2025
affb225
feat(tests): record screen with obs
Eldolfin May 4, 2025
1f80d04
feat(tests): screen size 1080p -> 720p
Eldolfin May 5, 2025
38cbedb
feat(tests/nix): add pre-commit hooks & fix them
Eldolfin May 5, 2025
90c59c7
feat(ci): run nix check on ci
Eldolfin May 5, 2025
851bea3
feat(justfile): document recipes
Eldolfin May 5, 2025
6841cea
fix(ci/nix): comment out test qemu option
Eldolfin May 5, 2025
4a372f1
fix(ci/nix): more verbose output
Eldolfin May 5, 2025
3b5c99f
fix(tests/nix): more reliable, better fail message
Eldolfin May 5, 2025
19603b7
fix(client): remove dumb change expiration rule which fixes the nix test
Eldolfin May 5, 2025
2b04ea0
feat(ci/nix): add cachix
Eldolfin May 5, 2025
dc2d5a4
fix(tests/nix): wait for lsp to be ready before typing
Eldolfin May 5, 2025
c939b5c
feat(ci/nix): upload video recording of clients
Eldolfin May 5, 2025
6dd450e
fix(ci): rename jobs for consistency
Eldolfin May 5, 2025
0fe33d7
fix(ci/nix): cachix is a separate action
Eldolfin May 5, 2025
a91a5ba
fix(tests/nix): type slowly
Eldolfin May 5, 2025
152756b
fix(tests/nix): type very slowly
Eldolfin May 6, 2025
9a28660
wip(...): testing unit changes
Eldolfin May 7, 2025
d5abf82
wip(client): send full document instead of incremental changes
Eldolfin May 7, 2025
dc55a7f
feat(ci): generate output on failure too
Eldolfin May 7, 2025
81377f5
fix(ci): assert same text out of test script to get videos
Eldolfin May 7, 2025
a4cf4ba
fix(ci): add ffmpeg to devshell
Eldolfin May 7, 2025
2f4d775
fix(ci): always upload tests videos
Eldolfin May 7, 2025
b18ff6b
fix(dev/nvim): add server address to arguments
Eldolfin May 8, 2025
932f358
feat(book): add why-its-complicated page
Eldolfin May 8, 2025
6883165
refactor(README.md): move out TODO, add why-its-complicated
Eldolfin May 8, 2025
d81b1b8
feat(ci): add deploy-book job
Eldolfin May 8, 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
39 changes: 39 additions & 0 deletions .github/workflows/book.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Deploy book

on:
push:
branches:
- main

jobs:
deploy-book:
runs-on: ubuntu-latest
permissions:
contents: write
pages: write
id-token: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install latest mdbook
run: |
tag="$(curl 'https://api.github.com/repos/rust-lang/mdbook/releases/latest' | jq -r '.tag_name')"
url="https://github.com/rust-lang/mdbook/releases/download/${tag}/mdbook-${tag}-x86_64-unknown-linux-gnu.tar.gz"
mkdir mdbook
curl -sSL "$url" | tar -xz --directory=./mdbook
echo "$(pwd)/mdbook" >> "$GITHUB_PATH"
- name: Build Book
run: |
cd book
mdbook build
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: 'book'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
6 changes: 2 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
name: Run tests

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
push:

env:
CARGO_TERM_COLOR: always

jobs:
build:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
29 changes: 29 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Run nix tests

on:
pull_request:
push:

jobs:
nix-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
with:
enable_kvm: true
extra_nix_config: "system-features = nixos-test benchmark big-parallel kvm"
- uses: cachix/cachix-action@v16
with:
name: codlab
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
extraPullNames: nix-community
- run: nix develop -c just ci
- uses: actions/upload-artifact@v4
if: always()
with:
name: video-recordings
path: ci-output
if-no-files-found: error
# videos are already compressed
compression-level: 0
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,9 @@
test.md
/editors/vscode/lsp-sample-1.0.0.vsix
book/book
.nixos-test-history
result
*.png
*.mkv
ci-output
.pre-commit-config.yaml
3 changes: 1 addition & 2 deletions .helix/languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@ name = "markdown"

[language-server.codlab]
command = "cargo"
args = ["run", "-q", "--bin", "client"]

args = ["run", "-q", "--bin", "client", "--", "ws://127.0.0.1:7575"]
2 changes: 1 addition & 1 deletion .lazy.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ local configs = require('lspconfig.configs')
if not configs.codlab then
configs.codlab = {
default_config = {
cmd = { 'cargo', 'run', '-q', '--bin', 'client' },
cmd = { 'cargo', 'run', '-q', '--bin', 'client', '--', 'ws://127.0.0.1:7575' },
filetypes = { '*' },
root_dir = lspconfig.util.root_pattern("Cargo.toml", ".git"),
settings = {}, -- Add any server-specific settings here
Expand Down
Loading
Loading