-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtaskfile.yml
More file actions
81 lines (72 loc) · 2.42 KB
/
Copy pathtaskfile.yml
File metadata and controls
81 lines (72 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# yaml-language-server: $schema=https://taskfile.dev/schema.json
version: "3.0"
set: ['e', 'u', 'pipefail']
shopt: ['globstar']
dotenv: ['.env']
vars:
MISE_SHIMS: "{{.HOME}}/.local/share/mise/shims"
BREW_PREFIX: '{{if eq ARCH "arm64"}}/opt/homebrew{{else}}/usr/local{{end}}'
ZIG_GLOBAL_CACHE_DIR: "{{.ROOT_DIR}}/.cache/zig"
env:
# mise-shimmed binaries must win over a stale system PATH entry. Requires
# the env-precedence experiment (see .env.example) -- without it, Task's
# default OS-env-wins behavior makes this line a silent no-op.
PATH: "{{.MISE_SHIMS}}:{{.PATH}}"
ZIG_GLOBAL_CACHE_DIR: "{{.ZIG_GLOBAL_CACHE_DIR}}"
includes:
core:
taskfile: ./taskfiles/core.yml
game:
taskfile: ./taskfiles/game.yml
oracle:
taskfile: ./taskfiles/oracle.yml
extension:
taskfile: ./taskfiles/extension.yml
parity:
taskfile: ./taskfiles/parity.yml
audio:
taskfile: ./taskfiles/audio.yml
release:
taskfile: ./taskfiles/release.yml
web:
taskfile: ./taskfiles/web.yml
ci:
taskfile: ./taskfiles/ci.yml
tasks:
default:
desc: "Default task"
cmds:
- task --list
_guard-env-precedence:
internal: true
desc: "Fail loudly if TASK_X_ENV_PRECEDENCE is not actually in effect"
preconditions:
- sh: '[ "${TASK_X_ENV_PRECEDENCE:-}" = "1" ]'
msg: >-
TASK_X_ENV_PRECEDENCE is not set to 1. This taskfile's env: PATH
override (mise shims ahead of a stale system PATH) silently no-ops
without it. Set TASK_X_ENV_PRECEDENCE=1 in .env (see
.env.example) and retry.
- sh: 'case "$PATH" in {{.MISE_SHIMS}}:*) exit 0 ;; *) exit 1 ;; esac'
msg: >-
PATH is not prefixed with {{.MISE_SHIMS}} even though
TASK_X_ENV_PRECEDENCE=1 is set -- something downstream is
resetting PATH after this taskfile's env: block runs.
check:
desc: "The one documented build/test command (env-precedence guard, oracle verify, headless import, gdUnit4 tests)"
cmds:
- task: _guard-env-precedence
- task: oracle:verify
- task: core:test
- task: core:abi-header-check
- task: core:audio-boundary-check
- task: core:abi-symbols
- task: core:abitest
- task: core:difftest
- task: extension:build
- task: extension:build-macos
- task: game:boundary-check
- task: game:import
- task: game:test
- task: audio:check
- task: audio:music-check