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
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ lcov.info
.vscode/*
!.vscode/extensions.json
**/.ruff_cache/
**/.ryl_cache/
**/.lycheecache
# Dart pub tool dir, regenerated by `dart pub get`; one global rule for the whole workspace (root + members).
**/.dart_tool/
Expand Down
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ max_line_length = unset
[.mise/mise*.lock]
max_line_length = unset

# The npm/PyPI dependency graphs those lockfiles reference, in aube's and uv's own formats. mise writes them, and
# their integrity and tarball URLs run past the line length the same way.
[.mise/locks/**]
max_line_length = unset

# openapi-python-client emits framework-boilerplate docstrings (e.g. the
# "errors.UnexpectedStatus: If the server returns an undocumented status code ..." line in every operation) that exceed
# the line length, and continuation lines inside the generated function signatures use 3-space indentation that
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/install-mise/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ runs:
- name: Install mise
uses: taiki-e/install-action@v2
with:
tool: cargo-binstall,mise@2026.9.17
tool: cargo-binstall,mise@2026.10.15

- name: Install extra tools via install-action
if: inputs.install-action-tools != ''
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
# The classic Windows builder on windows-2022 can't substitute build-args into the Dockerfile's RUN, and
# mise's prebuilt "latest" zip is stale (2026.3.0, too old for the config). 2026.7.1 is required: the config
# templates use Tera v2 syntax, which mise switched to in 2026.7.1 (older mise fails to parse them).
MISE_VERSION: "2026.9.17"
MISE_VERSION: "2026.10.15"
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ coverage-python.xml
.vscode/*
!.vscode/extensions.json
.ruff_cache/
.ryl_cache/
.lycheecache
# Dart pub tool dir, regenerated by `dart pub get`; one global rule for the whole workspace (root + members).
**/.dart_tool/
Expand Down
2 changes: 1 addition & 1 deletion .mise/config.java.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# segments with version. Bump in lockstep, AND on bump verify the Windows OpenJDK wrapper name in the
# java_home var below (build-number suffix changes with each GA release).
java = "26.0.1"
maven = "3.9.16"
maven = "3.10.0"

[vars]
# JDK install root for JAVA_HOME (see [env] below).
Expand Down
40 changes: 38 additions & 2 deletions .mise/config.js.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,34 @@ url = "https://github.com/oxc-project/oxc/releases/download/apps_v{{version}}/ox
[tools."http:oxfmt".platforms.windows-x64]
url = "https://github.com/oxc-project/oxc/releases/download/apps_v{{version}}/oxfmt-x86_64-pc-windows-msvc.zip"

[vars]
# On Windows, point oxlint straight at tsgolint's real exe, skipping the npm cmd-shim on PATH.
# Without this, `oxlint --type-aware` finds the npm-generated `tsgolint.cmd`, whose fallback line runs a bare `"node"`
# under cmd.exe -- and cmd.exe silently fails to search a PATH longer than 8191 chars (its per-variable limit;
# verified: resolves at 8172, fails at 8300), which the mise task PATH exceeds. The task then dies with:
# '"node"' is not recognized as an internal or external command,
# operable program or batch file.
# Error running tsgolint: "exit status: exit code: 1"
# Observed on commit https://github.com/edge-toolkit/core/commit/8cac021c75ebb69e8100a1ddb8d9b670e197fee4 at
# https://github.com/edge-toolkit/core/actions/runs/28857668889/job/85588159468 (check windows-latest lane).
# oxlint consults OXLINT_TSGOLINT_PATH before its node_modules/.bin and PATH walks, and hard-fails on a set but invalid
# value, so it is exported only on Windows and renders to nothing elsewhere.
#
# The install dir is read from `mise where` at run time rather than spelled out. With a dependency graph recorded
# under .mise/locks, mise installs an npm tool as `<version>~aube~<hash>`, and a path built from the bare version
# stopped resolving:
# Failed to find tsgolint executable: OXLINT_TSGOLINT_PATH points to
# 'C:/i\npm-oxlint-tsgolint\0.24.0\node_modules\.mise\node_modules\@oxlint-tsgolint\win32-x64\tsgolint.exe'
# which does not exist
# on commit https://github.com/edge-toolkit/core/commit/01a91eb959de4f050289124a6b448c6a372ecfdd at
# https://github.com/edge-toolkit/core/actions/runs/39880984044/job/120178425913 (check windows-latest lane).
# Inside the install, aube hoists the platform package into the flat `node_modules/.mise/node_modules` farm.
tsgolint_env = """{% if os() == "windows" -%}
tsgolint="$(mise where npm:oxlint-tsgolint)/node_modules/.mise/node_modules/@oxlint-tsgolint/win32-x64"
export OXLINT_TSGOLINT_PATH="$tsgolint/tsgolint.exe"
{%- endif -%}
"""

[tasks.build-ws-har1-module]
depends = ["build-et-cli", "build-wasm-cov-wrapper"]
description = "Build the har1 workflow WASM module"
Expand Down Expand Up @@ -156,11 +184,19 @@ description = "Lint JavaScript/TypeScript sources (oxlint)"
# with `--deny-warnings` once those are cleaned up. `--type-aware` (backed by the oxlint-tsgolint tool +
# config/tsconfig.json) enables the type-aware rule set; without it typescript/prefer-optional-chain silently
# no-ops.
run = "oxlint --config config/oxlintrc.jsonc --type-aware --tsconfig config/tsconfig.json"
run = """
{{ vars.tsgolint_env }}
oxlint --config config/oxlintrc.jsonc --type-aware --tsconfig config/tsconfig.json
"""
shell = "{{ vars.task_shell }}"

[tasks.oxlint-fix]
description = "Auto-fix oxlint violations that have a machine-applicable suggestion"
run = "oxlint --config config/oxlintrc.jsonc --type-aware --tsconfig config/tsconfig.json --fix"
run = """
{{ vars.tsgolint_env }}
oxlint --config config/oxlintrc.jsonc --type-aware --tsconfig config/tsconfig.json --fix
"""
shell = "{{ vars.task_shell }}"

[tasks.oxfmt-check]
description = "Check JS/TS formatting (oxfmt)"
Expand Down
2 changes: 1 addition & 1 deletion .mise/config.kotlin.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# The Kotlin Gradle plugin bundles the compiler, resolved from the Gradle Plugin Portal on first build, the
# same way the java env's Maven pulls TeaVM from Central. Gradle finds its JVM via the `java` tool on PATH --
# unlike mvn.cmd it does not require JAVA_HOME on any platform.
gradle = "9.7.0"
gradle = "9.8.2"
# Same JDK pin as config.java.toml carries for Maven; bump the two in lockstep.
java = "26.0.1"

Expand Down
2 changes: 1 addition & 1 deletion .mise/config.python.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[tools]
"pipx:componentize-py" = "latest"
"pipx:datamodel-code-generator" = { version = "latest", extras = "ruff" }
"pipx:openapi-python-client" = "0.29.0"
"pipx:openapi-python-client" = "0.29.1"
"pipx:pyrefly" = "latest"
"pipx:pytest" = "latest"
# PyTorch, for the et-ws-pyo3-runner `torch_inference` test.
Expand Down
Loading
Loading