All notable changes to lean-action will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- new
test-argsinput to specify arguments to pass tolake test - fixed bug where elan installation failed but lean-action continued (#143)
- Add a step to check all files in the default target's directory are imported in the main file by running
lake exe mk_all --check. - - Add
mk_all-checkinput to enable the mk_all step andmk_all-statusto use the result.
- add option to always reinstall
lean4-pr-releasestoolchains, ensuring CI runs with the latest version
- include runner architecture in cache key to avoid reusing
.lakeacross different runner architectures
- fix bug with passing multiple arguments to
lake buildviabuild-argsinput - fix false feature flag logic when using
auto-config: true
- Windows GitHub runner support
- replace
actions/cachewithactions/cache/restoreto prevent redundant cache saving previously caused by the combination ofactions/cacheandactions/cache/save
- use empty string as default value for status outputs instead of "NOT_RUN"
to avoid
set-output-parametersfinal step breaking log group expansion
- correct typo of in configuration step: "lake check-test failed" -> "lake check-lint failed"
- fix log group expansion in failing steps due to
set-output-parametersstep and removing the end log group command when a step fails
- use lake-manifest.json to detect mathlib dependency instead of lakefile.{lean, toml} to make lean-action more robust to changes in the configuration file formatting.
- switch elan installation method from download platform tar to
elan-init.shto support addition runners, e.g., macos.
- new
auto-configinput to specify iflean-actionshould use the Lake workspace to automatically determine which CI features to run, i.e.,lake build,lake test,lake lint. - new
buildinput to specify iflean-actionshould runlake build - new
lintinput to specify iflean-actionshould runlake lint - parameterize functional tests by Lean toolchain to allow for testing
lean-actionon any Lean version.
testinput now defaults toauto-config. Users can still specifytest: trueto forcelean-actionto runlake test.- removed
lint-moduleinput. Users should now use a@[lint_driver]to integrate with theBatteriestesting framework.
- improved GitHub cache keys to make caching more efficient and avoid edge cases when upgrading Lean version.
- new
use-github-cacheinput to specify iflean-actionshould useactions/cacheto cache the.lakefolder build-statusandtest-statusoutput parameters- new
lake-package-directoryinput to specify the directory to run Lake commands. This input will enable users to uselean-actionwhen Lake packages are contained in repository subdirectories. - new
auto-configinput to configurelean-actionto use the Lake workspace to decide which steps to run
- upgrade elan version to
v3.1.1 - run
lake check-testbefore runninglake test - improved log readability with explicit log group naming and additional white space
- remove misleading .toml error message in mathlib detection
- remove
elan-initfile after elan installation
- logs are grouped by step for better readability
- new
build-argsinput to specify arguments to pass tolake build - install elan step logs
lean --versionandlake --version
lean-actionno longer contains anactions/checkoutstepmathlib-cacherenamed toget-mathlib-cache
- improved default value for
get-mathlib-cache
- build packages with
lake build - run tests with
lake test - automatically detect
mathlibdependency and runlake exe get cache - detect Reservoir eligibility
- check for environment hacking with lean4checker