chore: workflow

This commit is contained in:
Robert Perce 2026-06-22 15:28:21 -05:00
parent 83fa4290b9
commit fcd3379393
6 changed files with 204 additions and 29 deletions

View file

@ -6,16 +6,31 @@ jobs:
image: rust:trixie
steps:
- uses: actions/checkout@v6
- run: apt update && apt install sqlite3
- run: echo test | ./Taskfile _cargo run -- set-password test
- run: ./Taskfile dev &
- run: bash ./e2e/wait-for-it.bash localhost:3000 --timeout 5
- uses: actions/setup-node@v6
- run: apt-get update && apt-get install -y sqlite3 nodejs
- run: ./Taskfile _cargo build --release
- run: echo test | ./target/release/mascarpone set-password test
- run: ./target/release/mascarpone set-ephemeral test true
- run: curl https://mise.run | MISE_INSTALL_PATH=/usr/local/bin/mise sh
- run: mise install node pnpm
- run: mise exec node pnpm -C e2e -- pnpm install
- run: mise exec node pnpm -C e2e -- npx playwright install --with-deps firefox
- run: |
./target/release/mascarpone serve &
bash ./e2e/wait-for-it.bash 127.0.0.1:3000 --timeout=2
mise exec node pnpm -C e2e -- env PROJECT_FILTER=firefox npx playwright test
- uses: actions/upload-artifact@v7
with:
node-version: 24
- uses: pnpm/action-setup@v6
name: playwright-results
path: |
e2e/playwright-report
e2e/test-results
- uses: actions/upload-artifact@v7
with:
version: 11.0.0-dev.1005
- run: cd e2e && pnpm install
- run: cd e2e && env PROJECT_FILTER=firefox ./Taskfile _test
- run: kill $(pgrep -f 'Taskfile dev')
name: release
path: |
e2e/playwright-report
e2e/test-results

View file

@ -10,8 +10,8 @@
"author": "",
"license": "ISC",
"devDependencies": {
"@playwright/test": "=1.57.0",
"@types/node": "^24.9.1"
"@playwright/test": "=1.60.0",
"@types/node": "^24.10.1"
},
"packageManager": "pnpm@10.28.1+sha512.7d7dbbca9e99447b7c3bf7a73286afaaf6be99251eb9498baefa7d406892f67b879adb3a1d7e687fc4ccc1a388c7175fbaae567a26ab44d1067b54fcb0d6a316"
"packageManager": "pnpm@11.7.0+sha512.19cc852c120c7125760f2443ee6be0ca5b40f9f50598de1a09a1f177503e010e57c23c77646e01e761de59bf874fb22a3398c33ab9691fc13eb946b6f0f4d620"
}

View file

@ -26,7 +26,7 @@ let projects = [
/* Test against mobile viewports. */
{
name: 'Mobile Chrome',
name: 'mobile-chrome',
use: { ...devices['Pixel 5'] },
},

28
e2e/pnpm-lock.yaml generated
View file

@ -9,16 +9,16 @@ importers:
.:
devDependencies:
'@playwright/test':
specifier: '=1.57.0'
version: 1.57.0
specifier: '=1.60.0'
version: 1.60.0
'@types/node':
specifier: ^24.9.1
specifier: ^24.10.1
version: 24.10.1
packages:
'@playwright/test@1.57.0':
resolution: {integrity: sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==}
'@playwright/test@1.60.0':
resolution: {integrity: sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==}
engines: {node: '>=18'}
hasBin: true
@ -30,13 +30,13 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
playwright-core@1.57.0:
resolution: {integrity: sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==}
playwright-core@1.60.0:
resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==}
engines: {node: '>=18'}
hasBin: true
playwright@1.57.0:
resolution: {integrity: sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==}
playwright@1.60.0:
resolution: {integrity: sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==}
engines: {node: '>=18'}
hasBin: true
@ -45,9 +45,9 @@ packages:
snapshots:
'@playwright/test@1.57.0':
'@playwright/test@1.60.0':
dependencies:
playwright: 1.57.0
playwright: 1.60.0
'@types/node@24.10.1':
dependencies:
@ -56,11 +56,11 @@ snapshots:
fsevents@2.3.2:
optional: true
playwright-core@1.57.0: {}
playwright-core@1.60.0: {}
playwright@1.57.0:
playwright@1.60.0:
dependencies:
playwright-core: 1.57.0
playwright-core: 1.60.0
optionalDependencies:
fsevents: 2.3.2

159
mise.lock Normal file
View file

@ -0,0 +1,159 @@
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
[[tools.git-cliff]]
version = "2.13.1"
backend = "aqua:orhun/git-cliff"
[tools.git-cliff."platforms.linux-arm64"]
checksum = "sha256:4054c124b926c117f3fa048939bc8be0a954f29f3b6f367627e8cb22c1971882"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-aarch64-unknown-linux-musl.tar.gz"
[tools.git-cliff."platforms.linux-arm64-musl"]
checksum = "sha256:4054c124b926c117f3fa048939bc8be0a954f29f3b6f367627e8cb22c1971882"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-aarch64-unknown-linux-musl.tar.gz"
[tools.git-cliff."platforms.linux-x64"]
checksum = "sha256:200d2535da6d9703f3bcc8a4d159c3b55eacdb01cf2148c55b3eee9dd04d5249"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-x86_64-unknown-linux-musl.tar.gz"
[tools.git-cliff."platforms.linux-x64-musl"]
checksum = "sha256:200d2535da6d9703f3bcc8a4d159c3b55eacdb01cf2148c55b3eee9dd04d5249"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-x86_64-unknown-linux-musl.tar.gz"
[tools.git-cliff."platforms.macos-arm64"]
checksum = "sha256:21547ae4a0421164070ab75c2522864ea5565858a011fabc5f583061b20f1226"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-aarch64-apple-darwin.tar.gz"
[tools.git-cliff."platforms.macos-x64"]
checksum = "sha256:6e60ae390d375cecb9d8008c49f0e724a8dfe40390b532ef5501e421d2cc8acb"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-x86_64-apple-darwin.tar.gz"
[tools.git-cliff."platforms.windows-x64"]
checksum = "sha256:3ae3a5549e85c7ad5b20192ebcfee4371269deca51255f6f2f2e051c6541f5ca"
url = "https://github.com/orhun/git-cliff/releases/download/v2.13.1/git-cliff-2.13.1-x86_64-pc-windows-msvc.zip"
[[tools.jj]]
version = "0.34.0"
backend = "aqua:jj-vcs/jj"
[tools.jj."platforms.linux-arm64"]
checksum = "sha256:39b5d689bcdc37256fe5f9ed9caccf5e73b310d1f86848fdf610a7bea9d75c14"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-aarch64-unknown-linux-musl.tar.gz"
[tools.jj."platforms.linux-arm64-musl"]
checksum = "sha256:39b5d689bcdc37256fe5f9ed9caccf5e73b310d1f86848fdf610a7bea9d75c14"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-aarch64-unknown-linux-musl.tar.gz"
[tools.jj."platforms.linux-x64"]
checksum = "sha256:1e8e1ede656fecba91ceb8248a76402a110017ad677d0ecfd1f2040f5543cfa3"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-x86_64-unknown-linux-musl.tar.gz"
[tools.jj."platforms.linux-x64-musl"]
checksum = "sha256:1e8e1ede656fecba91ceb8248a76402a110017ad677d0ecfd1f2040f5543cfa3"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-x86_64-unknown-linux-musl.tar.gz"
[tools.jj."platforms.macos-arm64"]
checksum = "sha256:8893d34ff0c76e16fdf46ba8771ea2498294957aec5efb0618de15cc493aee27"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-aarch64-apple-darwin.tar.gz"
[tools.jj."platforms.macos-x64"]
checksum = "sha256:807417125e574432b71c4568a0e2d6168c30af3b59e64ce02a45a54cf0880bd7"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-x86_64-apple-darwin.tar.gz"
[tools.jj."platforms.windows-x64"]
checksum = "sha256:138f2642a99afb08aff0f7dc54b2076dcdc625d07a9a2e21b52895ea72db900e"
url = "https://github.com/jj-vcs/jj/releases/download/v0.34.0/jj-v0.34.0-x86_64-pc-windows-msvc.zip"
[[tools.node]]
version = "24.16.0"
backend = "core:node"
[tools.node."platforms.linux-arm64"]
checksum = "sha256:589f5b6dd4fcfee4dfda73013903c966abaa8abd93dbc9d436544e472b4f0e74"
url = "https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-arm64.tar.gz"
[tools.node."platforms.linux-arm64-musl"]
checksum = "sha256:85dde27aa73503b03dadfa0410a800067b4e3f702fb7fcaa3beaf284dfcc69e9"
url = "https://unofficial-builds.nodejs.org/download/release/v24.16.0/node-v24.16.0-linux-arm64-musl.tar.gz"
[tools.node."platforms.linux-x64"]
checksum = "sha256:2faf6a387e9b62b888e21c54f01249fb27537ffecf1842f29f4c919d0a59a0ff"
url = "https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-x64.tar.gz"
[tools.node."platforms.linux-x64-musl"]
checksum = "sha256:50df5d8d474892d4f7b906167df36f77f5b93908f63dc532dc568219cab65841"
url = "https://unofficial-builds.nodejs.org/download/release/v24.16.0/node-v24.16.0-linux-x64-musl.tar.gz"
[tools.node."platforms.macos-arm64"]
checksum = "sha256:39189dab4eeb15706c424af0ac08a3044c9e48f7db12a7d77f6b7aafc7dd5df6"
url = "https://nodejs.org/dist/v24.16.0/node-v24.16.0-darwin-arm64.tar.gz"
[tools.node."platforms.macos-x64"]
checksum = "sha256:298b4c7b3cb80765c8703e42b90324a4ece3b6634947b89e769c3c980ab55185"
url = "https://nodejs.org/dist/v24.16.0/node-v24.16.0-darwin-x64.tar.gz"
[tools.node."platforms.windows-x64"]
checksum = "sha256:edaca9bd58ec8e92037dac4e877d52f6b8f430b81c18b57e264b4e2fb111cd56"
url = "https://nodejs.org/dist/v24.16.0/node-v24.16.0-win-x64.zip"
[[tools.pnpm]]
version = "11.7.0"
backend = "aqua:pnpm/pnpm"
[tools.pnpm."platforms.linux-arm64"]
checksum = "sha256:a110731cf0f46cf89eb5659b42c9f5c3a2361d30087e2eed921c8378b1fe64a0"
url = "https://github.com/pnpm/pnpm/releases/download/v11.7.0/pnpm-linux-arm64.tar.gz"
provenance = "github-attestations"
[tools.pnpm."platforms.linux-arm64-musl"]
checksum = "sha256:9c82a83d0fa6dbcd4757f7846f20e73f77d451d6282b32602d9f933b5e2f4052"
url = "https://github.com/pnpm/pnpm/releases/download/v11.7.0/pnpm-linux-arm64-musl.tar.gz"
provenance = "github-attestations"
[tools.pnpm."platforms.linux-x64"]
checksum = "sha256:752e31654c6f24bc945db784d12831b80b29f533b43105575ce30dd3c8658609"
url = "https://github.com/pnpm/pnpm/releases/download/v11.7.0/pnpm-linux-x64.tar.gz"
provenance = "github-attestations"
[tools.pnpm."platforms.linux-x64-musl"]
checksum = "sha256:6fa3052e350a1aceeeac90c9f9b59ed048312cab04b34c0472b018e71b243885"
url = "https://github.com/pnpm/pnpm/releases/download/v11.7.0/pnpm-linux-x64-musl.tar.gz"
provenance = "github-attestations"
[tools.pnpm."platforms.macos-arm64"]
checksum = "sha256:97d077cca1225ae6ab492e5b6d0e6737ab7149c34813e70f25f67c6c2bf274a2"
url = "https://github.com/pnpm/pnpm/releases/download/v11.7.0/pnpm-darwin-arm64.tar.gz"
provenance = "github-attestations"
[tools.pnpm."platforms.windows-x64"]
checksum = "sha256:08acc088646c1dbf3030984918266058d23c5acf4c518dc7502bd539fc99c280"
url = "https://github.com/pnpm/pnpm/releases/download/v11.7.0/pnpm-win32-x64.zip"
provenance = "github-attestations"
[[tools.rust-analyzer]]
version = "2025-08-25"
backend = "aqua:rust-lang/rust-analyzer"
[tools.rust-analyzer."platforms.linux-arm64"]
checksum = "sha256:c738e00a5caa712f9d9c8f81f9661884c7108ef94db6df48985c11fe3c2695bd"
url = "https://github.com/rust-lang/rust-analyzer/releases/download/2025-08-25/rust-analyzer-aarch64-unknown-linux-gnu.gz"
[tools.rust-analyzer."platforms.linux-x64"]
checksum = "sha256:487fb1cb99e567fd6b818cc88a7c1452d5260da57dbc171fc1359a4b604348ae"
url = "https://github.com/rust-lang/rust-analyzer/releases/download/2025-08-25/rust-analyzer-x86_64-unknown-linux-gnu.gz"
[tools.rust-analyzer."platforms.linux-x64-musl"]
checksum = "sha256:afedc9ba4b25364430b731d52c03d34029bd37e001bcbb546d1c36b3c1b5fcb8"
url = "https://github.com/rust-lang/rust-analyzer/releases/download/2025-08-25/rust-analyzer-x86_64-unknown-linux-musl.gz"
[tools.rust-analyzer."platforms.macos-arm64"]
checksum = "sha256:1a8bc7d6be8c1bc12bdf4300f4c3370ec894e6b536c80605cfeccefcda2b8fb9"
url = "https://github.com/rust-lang/rust-analyzer/releases/download/2025-08-25/rust-analyzer-aarch64-apple-darwin.gz"
[tools.rust-analyzer."platforms.macos-x64"]
checksum = "sha256:eff297832fb36215cbd750cbd34814b0725f97dcdec235d2dd2d8a14d85cc2fc"
url = "https://github.com/rust-lang/rust-analyzer/releases/download/2025-08-25/rust-analyzer-x86_64-apple-darwin.gz"
[tools.rust-analyzer."platforms.windows-x64"]
checksum = "sha256:f0a7c451e495a184f0b379cce3c3c77af35ccb69ab9eeafbd2c67317ba16d5ae"
url = "https://github.com/rust-lang/rust-analyzer/releases/download/2025-08-25/rust-analyzer-x86_64-pc-windows-msvc.zip"

View file

@ -2,4 +2,5 @@
"rust-analyzer" = "latest"
"jj" = "latest"
node = "24"
pnpm = "11.7.0"
git-cliff = "latest"