-
Notifications
You must be signed in to change notification settings - Fork 14
123 lines (107 loc) · 3.98 KB
/
3.0-alpine.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
110
111
112
113
114
115
116
117
118
119
120
121
122
name: Alpine (3.0 alpine)
on:
schedule:
- cron: "10 16 * * *"
push:
branches:
- develop
- 3.0
- main
pull_request:
branches:
- develop
- 3.0
- main
env:
TOOLS_BUILD_TYPE: Release
PR_NUMBER: ${{ github.event.number }}
jobs:
check-changed:
runs-on: ubuntu-latest
outputs:
changedflag: ${{ steps.changedflag.outputs.changedflag }}
steps:
- name: Step that prints name of pull request's base branch
run: |
echo "Pull request's base branch is: ${BASE_BRANCH}"
echo "Pull request's branch is: ${GITHUB_REF##*/}"
echo "Pull request's head ref is: ${GITHUB_HEAD_REF}"
env:
BASE_BRANCH: ${{ github.base_ref }}
if: github.event_name == 'pull_request'
- uses: actions/checkout@v3
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
- name: Get changed files
id: changed-files
uses: tj-actions/[email protected]
- name: List all changed files
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
echo "$file was changed"
done
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/[email protected]
with:
files: |
src/*
inc/*
deps/CMakeLists.txt
.github/workflows/3.0-alpine.yml
- name: Run step if any of the listed files above change
id: changedflag
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: |
echo "One or more files listed above has changed." > ~/changed.log
echo "::set-output name=changedflag::true"
build:
runs-on: ubuntu-latest
needs: check-changed
steps:
- name: Step that prints name of pull request's base branch
run: |
echo ${{needs.check-changed.outputs.changedflag}}
echo "Pull request's base branch is: ${BASE_BRANCH}"
echo "Pull request's branch is: ${GITHUB_REF##*/}"
echo "Pull request's head ref is: ${GITHUB_HEAD_REF}"
env:
BASE_BRANCH: ${{ github.base_ref }}
if: github.event_name == 'pull_request'
- name: setup Alpine
if: |
(needs.check-changed.outputs.changedflag == 'true'
&& github.event_name == 'pull_request')
|| github.event_name == 'push'
|| github.event_name == 'schedule'
uses: jirutka/setup-alpine@v1
- name: Run script inside Alpine chroot as root
if: |
(needs.check-changed.outputs.changedflag == 'true'
&& github.event_name == 'pull_request')
|| github.event_name == 'push'
|| github.event_name == 'schedule'
run: |
cat /etc/alpine-release
apk add argp-standalone bash curl cmake gcc g++ git go procps lsof make valgrind linux-headers libunwind libunwind-dev tzdata wget jansson-dev snappy-dev xz-dev zlib-dev
shell: alpine.sh --root {0}
- name: Build & Install TDengine
if: |
(needs.check-changed.outputs.changedflag == 'true'
&& github.event_name == 'pull_request')
|| github.event_name == 'push'
|| github.event_name == 'schedule'
shell: alpine.sh --root {0}
run: |
git clone --branch ${{ github.event.pull_request.base.ref }} --depth 1 https://github.com/taosdata/TDengine > /dev/null || exit 1
cd TDengine && mkdir debug && cd debug && cmake .. -DBUILD_TOOLS=true -DTOOLS_BUILD_TYPE=${{env.TOOLS_BUILD_TYPE}} -DBUILD_HTTP=false && make -j2 && make install
if [[ ! -f /usr/local/taos/bin/taosd ]] || [[ ! -f /usr/local/taos/bin/taos ]]
then
echo "TDengien build failure"
exit 1
fi
if [[ ! -f /usr/local/taos/bin/taosdump ]] || [[ ! -f /usr/local/taos/bin/taosBenchmark ]]
then
echo "taos-tools build failure"
exit 1
fi