Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Build-related directories and files
.task
build
18 changes: 18 additions & 0 deletions lint-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
black>=24.4.2
build>=0.8.0
cibuildwheel>=2.16.2
clang-format>=19.1.6
clang-tidy>=19.1.0
docformatter>=1.7.5
gersemi>=0.16.2
# Lock to v0.3.0 to support Python3.7
msgpack-types==0.3.0
mypy>=1.10.0
mypy-extensions>=1.0.0
packaging>=21.3
ruff>=0.4.6
smart_open==6.4.0
types-Deprecated>=1.2.9
types-python-dateutil>=2.8
yamllint>=1.35.1
zstandard>=0.18.0
20 changes: 20 additions & 0 deletions taskfile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: "3"

includes:
lint: "./tasks/lint-tasks.yaml"
utils: "tools/yscope-dev-utils/taskfiles/utils.yml"

vars:
G_BUILD_DIR: "{{.ROOT_DIR}}/build"

tasks:
clean:
cmds:
- "rm -rf '{{.G_BUILD_DIR}}'"

init:
internal: true
silent: true
run: "once"
cmds:
- "mkdir -p '{{.G_BUILD_DIR}}'"
48 changes: 48 additions & 0 deletions tasks/lint-tasks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
version: "3"

includes:
yaml:
flatten: true
taskfile: "./lint-yaml-tasks.yaml"

vars:
G_LINT_VENV_DIR: "{{.G_BUILD_DIR}}/lint-venv"
G_LINT_VENV_CHECKSUM_FILE: "{{.G_BUILD_DIR}}/lint#venv.md5"

tasks:
check:
cmds:
- task: "yaml-check"

fix:
cmds:
- task: "yaml-fix"

venv:
internal: true
vars:
CHECKSUM_FILE: "{{.G_LINT_VENV_CHECKSUM_FILE}}"
OUTPUT_DIR: "{{.G_LINT_VENV_DIR}}"
sources:
- "{{.ROOT_DIR}}/taskfile.yaml"
- "{{.TASKFILE}}"
- "lint-requirements.txt"
generates:
- "{{.CHECKSUM_FILE}}"
deps:
- ":init"
- task: ":utils:validate-checksum"
vars:
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
DATA_DIR: "{{.OUTPUT_DIR}}"
cmds:
- task: ":utils:create-venv"
vars:
LABEL: "lint"
OUTPUT_DIR: "{{.OUTPUT_DIR}}"
REQUIREMENTS_FILE: "lint-requirements.txt"
# This command must be last
- task: ":utils:compute-checksum"
vars:
DATA_DIR: "{{.OUTPUT_DIR}}"
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
19 changes: 19 additions & 0 deletions tasks/lint-yaml-tasks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: "3"

tasks:
yaml:
aliases:
- "yaml-check"
- "yaml-fix"
deps:
- "venv"
dir: "{{.ROOT_DIR}}"
cmds:
- "echo '{{.TASKFILE}}'"
- |-
. "{{.G_LINT_VENV_DIR}}/bin/activate"
yamllint \
--config-file "tools/yscope-dev-utils/lint-configs/.yamllint.yml" \
--strict \
tasks/ \
taskfile.yaml
Loading