Skip to content
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
20 changes: 2 additions & 18 deletions .github/workflows/eval.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,7 @@ jobs:

- name: Download datasets
run: |
lenskit data fetch -D data --movielens ml-100k ml-1m ml-10m
lenskit data fetch -D data/az23 --amazon --core Video_Games
lenskit data fetch -D data/az18 --amazon --edition 2018 Video_Games
lenskit data fetch -D data/az14 --amazon --edition 2014 Video_Games
lenskit data fetch --ms-web
if [[ ! -f data/australian_users_items.json.gz ]]; then
curl -fsL -o data/australian_users_items.json.gz.tmp https://mcauleylab.ucsd.edu/public_datasets/data/steam/australian_users_items.json.gz
mv data/australian_users_items.json.gz.tmp data/australian_users_items.json.gz
fi
lenskit data fetch -D data --movielens ml-100k

- name: Run Eval Tests
run: |
Expand Down Expand Up @@ -103,15 +95,7 @@ jobs:

- name: Download datasets
run: |
coverage run -a --source=src/lenskit -m lenskit data fetch -D data --movielens ml-100k ml-20m ml-1m ml-10m
coverage run -a --source=src/lenskit -m lenskit data fetch -D data/az23 --amazon --core Video_Games
coverage run -a --source=src/lenskit -m lenskit data fetch -D data/az18 --amazon --edition 2018 Video_Games
coverage run -a --source=src/lenskit -m lenskit data fetch -D data/az14 --amazon --edition 2014 Video_Games
coverage run -a --source=src/lenskit -m lenskit data fetch --ms-web
if [[ ! -f data/australian_users_items.json.gz ]]; then
curl -fsL -o data/australian_users_items.json.gz.tmp https://mcauleylab.ucsd.edu/public_datasets/data/steam/australian_users_items.json.gz
mv data/australian_users_items.json.gz.tmp data/australian_users_items.json.gz
fi
coverage run -a --source=src/lenskit -m lenskit data fetch -D data --movielens ml-100k

- name: 🕺🏻 Test LensKit CLI
run: |
Expand Down
23 changes: 23 additions & 0 deletions .woodpecker/dataset-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
when:
- event: push
branch: main
- event: pull_request

labels:
backend: docker

steps:
- name: build and run data tests
image: codeberg.org/mdekstrand/woodpecker-mise:v1-f44-dev
pull: true
settings:
task: "ci:prepare ::: test -v --coverage -m realdata ::: test-cli tests/cli/test-data-convert.sh"
mise-env: ci

- name: upload code coverage
image: woodpeckerci/plugin-codecov
settings:
files:
- coverage.xml
token:
from_secret: codecov-token
5 changes: 5 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
> [!NOTE]
> The following license applies to the LensKit source code. The data sets
> under `data/` have their own terms, described in their respective README
> files.

Copyright (c) 2018–2023 Boise State University
Copyright (c) 2023-2026 Drexel University and contributors

Expand Down
1 change: 1 addition & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ codecov:
notify:
after_n_builds: 10
wait_for_ci: true
token: ab58c9cf-25b8-4283-a485-0b6382dc9a61
ignore:
- build*.py
- build-tools/*
Expand Down
5 changes: 5 additions & 0 deletions mise/config.ci.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[settings]
disable_tools = ["pkl", "perl"]

[settings.python]
uv_venv_auto = "source"
10 changes: 9 additions & 1 deletion mise/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
rust = "stable"
usage = "latest"
uv = "latest"
jq = "latest"
shfmt = "latest"
tombi = "latest"
perl = { version = "latest", os = ["linux", "macos"] }
Expand All @@ -12,15 +13,22 @@ yamlfmt = "latest"
ruff = "latest"

[settings]
experimental = true
idiomatic_version_file_enable_tools = ["rust"]
github.github_attestations = false
aqua.github_attestations = false

[settings.python]
# uv_venv_auto = "source"

[deps.uv]

[env]
HK_MISE = 1

[hooks]
postinstall = "hk install"
postinstall = '''
if [ -z "$CI" ]; then
hk install
fi
'''
41 changes: 38 additions & 3 deletions mise/mise.lock

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

23 changes: 23 additions & 0 deletions mise/tasks/ci/prepare.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/zsh
#MISE description="Prepare CI environment"
#USAGE flag "-v --verbose" help="Enable verbose logging."

. "$MISE_PROJECT_ROOT/mise/task-functions.sh"
. "${UV_PROJECT_ENVIRONMENT:-$MISE_PROJECT_ROOT/.venv}/bin/activate"

if [[ -z $CI ]]; then
msg "not in CI, skipping environment setup"
fi

if [[ $CI_SYSTEM_NAME = woodpecker ]]; then
if [[ -d /datasets ]]; then
msg "linking data from /datasets"
for f in /datasets/*; do
ln -s $f data/${f#/datasets/}
done
else
msg -warn "running on Woodpecker but /datasets does not exist"
fi
else
msg "nothing to do for CI $CI_SYSTEM_NAME"
fi
1 change: 1 addition & 0 deletions mise/tasks/test-cli.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/usr/bin/env bash
#MISE description="Run CLI tests"
#MISE wait_for=["test"]

exec ./tests/cli/run.sh "$@"
1 change: 1 addition & 0 deletions mise/tasks/test.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env bash
#MISE description="Run tests"
#MISE wait_for=["ci:prepare"]
#USAGE flag "--coverage" help="Run tests with coverage."
#USAGE flag "--accel-coverage" help="Run tests with Rust accelerator coverage."
#USAGE flag "--slow" help="Include slow tests."
Expand Down
Loading