-
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathTaskfile.yml
More file actions
97 lines (82 loc) · 1.96 KB
/
Taskfile.yml
File metadata and controls
97 lines (82 loc) · 1.96 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
version: '3'
dotenv: ['cmd/ftrove/.yara_env']
vars:
VERSION:
sh: cat VERSION
env:
CGO_ENABLED: "1"
includes:
yara: ./Taskfile.yara.yml
ftrove:
taskfile: ./cmd/ftrove/Taskfile.yml
dir: ./cmd/ftrove
admftrove:
taskfile: ./cmd/admftrove/Taskfile.yml
dir: ./cmd/admftrove
pkg: ./Taskfile.package.yml
nsrl: ./Taskfile.nsrl.yml
dist: ./Taskfile.dist.yml
tasks:
default:
cmds:
- task: build
build:
desc: Build all binaries (both dynamic and static)
deps: [setup-yara-capi]
cmds:
- task: ftrove:build
- task: admftrove:build
sources:
- '**/*.go'
ftrove:
desc: Build ftrove binaries
cmds:
- task: ftrove:build
admftrove:
desc: Build admftrove binaries
cmds:
- task: admftrove:build
setup-yara-capi:
desc: Build and install the YARA-X C library system-wide
cmds:
- task: yara:setup-capi
test:
desc: Run all library tests
deps: [setup-yara-capi]
cmds:
- go test -v
sources:
- '**/*.go'
fuzz:
desc: Run fuzz tests for 10 seconds
deps: [setup-yara-capi]
cmds:
# workaround with ld_cla needed on MacOS due to a bug in Apples new linker: https://github.com/golang/go/issues/65169
# update 2024-05-15: With the latest MacOS update 14.5 the legacy linker is not available anymore
- go test -fuzz=Fuzz -test.fuzztime 10s
package:
desc: Build .deb and .rpm packages (builds binaries first)
deps: [build]
cmds:
- task: pkg:stage
- task: pkg:deb
- task: pkg:rpm
package-deb:
desc: Build .deb package (builds binaries first)
deps: [build]
cmds:
- task: pkg:stage
- task: pkg:deb
package-rpm:
desc: Build .rpm package (builds binaries first)
deps: [build]
cmds:
- task: pkg:stage
- task: pkg:rpm
clean:
desc: Clean everything
cmds:
- task: ftrove:clean
- task: admftrove:clean
- go clean
- rm -rf dist/