forked from ffurrer2/extract-release-notes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Taskfile.yml
109 lines (95 loc) · 2.38 KB
/
Taskfile.yml
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
98
99
100
101
102
103
104
105
106
107
108
109
# SPDX-License-Identifier: MIT
# https://taskfile.dev
version: '3'
tasks:
default:
cmds:
- task --list
silent: true
clean:
desc: Clean build artifacts
cmds:
- rm -rf node_modules/
silent: true
prepare:
desc: Install packages
cmds:
- npm install
silent: true
build:
desc: Compile Node.js module
cmds:
- rm -rf dist/
- rm -rf package-lock.json
- task: prepare
- npm run build
- git add dist/index.js package-lock.json
silent: true
build:release:
desc: Compile Node.js module
cmds:
- rm -rf dist/
- npm ci
- npm run build
- git add dist/*
- task: licensed:status
silent: true
git:tag:
desc: Create release tag
preconditions:
- sh: '{{if empty .GIT_TAG}}false{{end}}'
msg: 'Variable "GIT_TAG" is required (e.g. task git:tag GIT_TAG=0.0.0)'
cmds:
- git tag --annotate --message='release v{{.GIT_TAG}}' --sign v{{.GIT_TAG}}
- git --no-pager tag -n
silent: true
lint:
desc: Run all linters
cmds:
- task: markdownlint
- task: yamllint
silent: true
markdownlint:
desc: Lint Markdown files
cmds:
- docker run -it --rm --volume "$(pwd):/work" tmknom/markdownlint:latest --config .github/linters/.markdown-lint.yml --ignore node_modules --ignore test/testdata/expected .
silent: true
yamllint:
desc: Lint YAML files
cmds:
- yamllint --config-file .github/linters/.yaml-lint.yml --format auto --strict .
silent: true
licensed:list:
desc: List dependencies
cmds:
- licensed list
silent: true
licensed:status:
desc: Check licensed status
cmds:
- licensed status
silent: true
licensed:cache:
desc: Upate licensed cache
cmds:
- npm ci
- licensed cache --force
silent: true
licensed:notices:
desc: Generate NOTICE file
cmds:
- licensed notices
silent: true
version:
desc: Show versions
cmds:
- |
set -e
printf 'git: %s\n' "$(git --version | cut -d ' ' -f 3)"
printf 'licensed: %s\n' "$(licensed version)"
printf 'ncc: %s\n' "$(ncc version)"
printf 'node: %s\n' "$(node --version | cut -c 2-)"
printf 'npm: %s\n' "$(npm --version)"
printf 'task: %s\n' "$(task --version | cut -d ' ' -f 3)"
printf 'yamllint: %s\n' "$(yamllint --version | cut -d ' ' -f 2)"
silent: true