forked from msoedov/hacker-slides
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTaskfile.yaml
77 lines (69 loc) · 2.4 KB
/
Taskfile.yaml
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
---
version: 3
vars:
PROJECT_NAME:
sh: echo ${PWD##*/}
MODULE: github.com/{{ .REPOSITORY_NAME }}/{{ .PROJECT_NAME }}
#REGISTRY: eu.gcr.io
#REPOSITORY_NAME: stuttgart-things
REGISTRY: scr.cd43.sthings-pve.labul.sva.de
REPOSITORY_NAME: sthingslides
DATE:
sh: date +"%y.%m%d.%H%M"
GIT_COMMIT:
sh: git log -n 1 --format=%h
BRANCH:
sh: if [ $(git rev-parse --abbrev-ref HEAD) != "main" ]; then echo $(git rev-parse --abbrev-ref HEAD) ; fi
tasks:
lint:
desc: Lint code
cmds:
- cmd: golangci-lint run
ignore_error: true
branch:
desc: Create branch from main
cmds:
- git checkout main
- git branch
- git pull
- |
echo "Enter to be created (remote) branch:"
read BRANCH_NAME;
git checkout -b ${BRANCH_NAME}
git push origin ${BRANCH_NAME}
- git branch
- git branch --set-upstream-to=origin/main ${BRANCH_NAME}
commit:
desc: Commit + push code into branch
cmds:
- git pull
- |
echo "ENTER COMMIT MESSAGE"
read COMMIT_MESSAGE;
git add * || true
git commit -am "$(echo ${COMMIT_MESSAGE})"
git push origin -u {{ .BRANCH }}
pr:
desc: Create pull request into main
cmds:
- task: commit
- gh pr create -t "{{ .BRANCH }}" -b "{{ .BRANCH }} branch into main"
- sleep 20s
- gh repo set-default stuttgart-things/sthings-slides
- gh pr checks $(gh pr list | grep "^[^#;]" | awk '{print $1}') --watch
- gh pr merge $(gh pr list | grep "^[^#;]" | awk '{print $1}') --auto --rebase --delete-branch
- git checkout main && git pull
build-image:
desc: Build container image
deps: [build-server]
cmds:
- sudo nerdctl build -t {{ .REGISTRY }}/{{ .REPOSITORY_NAME }}/{{ lower (.PROJECT_NAME) }}:{{ .DATE }}-{{ .UPDATED_TAG_VERSION }} --build-arg VERSION={{ .UPDATED_TAG_VERSION }} --build-arg BUILD_DATE={{ .DATE }} --build-arg COMMIT={{ .GIT_COMMIT }} .
- sudo nerdctl push {{ .REGISTRY }}/{{ .REPOSITORY_NAME }}/{{ lower (.PROJECT_NAME) }}:{{ .DATE }}-{{ .UPDATED_TAG_VERSION }}
build-server:
desc: Build server
deps: [lint, proto]
cmds:
- go mod tidy
- CGO_ENABLED=0
- GOOS=linux
- go install -ldflags="-X {{ .MODULE }}/internal.version=v{{ .UPDATED_TAG_VERSION }} -X {{ .MODULE }}/internal.date={{ .DATE }} -X {{ .MODULE }}/internal.commit={{ .GIT_COMMIT }}"