forked from tim-janik/anklang
-
Notifications
You must be signed in to change notification settings - Fork 0
132 lines (124 loc) · 4.4 KB
/
testing.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
123
124
125
126
127
128
129
130
131
132
# This Source Code Form is licensed MPL-2.0: http://mozilla.org/MPL/2.0
# Linting: xclip -sel c <.github/workflows/testing.yml # https://rhysd.github.io/actionlint/
on:
push:
branches: [ 'trunk', 'next', 'wip/**' ]
tags: [ 'v[0-9]+.[0-9]+.[0-9]+*' ]
pull_request:
branches: ['trunk', 'next']
jobs:
Focal-Assets:
runs-on: ubuntu-latest
env:
CITAG: focal
CICACHE: /tmp/cicache
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v3
with:
key: cifocal-${{hashFiles ('misc/Dockerfile.focal')}}
path: /tmp/cicache
- name: 'Prepare Docker Image'
run: |
echo -e ' prefix=/ \n CC=clang \n CXX=clang++ \n CLANG_TIDY=clang-tidy ' > config-defaults.mk
misc/cirun -u 1000 misc/version.sh
- name: 'Build Dist Assets'
run: |
misc/cirun -u 1000 make mkassets
- uses: actions/[email protected]
with: { name: assets, path: assets/ }
- uses: actions/[email protected]
with: { name: dist-tarball, path: assets/*.tar* }
- name: 'Upload API Docs' # http://tim-janik.github.io/docs/anklang
if: github.ref == 'refs/heads/trunk'
run: |
misc/cirun -u 1000 make -j`nproc` all
(umask 0077 && cat <<< "${{ secrets.SSH_ID_GHDOCS4ANKLANG_ECDSA }}" > .git/.ssh_id_ghdocs4anklang)
misc/cirun -u 1000 doc/poxy.sh -b -u
Arch-Replay:
runs-on: ubuntu-latest
env:
CITAG: arch
CIMAKE: misc/cirun -u 1000 make
CICACHE: /tmp/cicache
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v3
with:
key: ciarch-${{hashFiles ('misc/Dockerfile.arch')}}
path: /tmp/cicache
- name: 'Prepare Docker Image'
run: |
echo -e ' prefix=/ \n CC=clang \n CXX=clang++ \n CLANG_TIDY=clang-tidy ' > config-defaults.mk
misc/cirun -u 1000 misc/version.sh
- name: 'Run X11 GUI Tests'
run: |
$CIMAKE -j`nproc` all check
$CIMAKE x11test-v
# Artifact upload from x11test
- uses: actions/[email protected]
if: always()
with:
name: x11test
path: out/x11test/
Focal-Clang-Tidy:
if: ${{ ! contains(github.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
env:
CITAG: focal
CIMAKE: misc/cirun -u 1000 make
CICACHE: /tmp/cicache
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v3
with:
key: cifocal-${{hashFiles ('misc/Dockerfile.focal')}}
path: /tmp/cicache
- name: 'Prepare Docker Image'
run: |
echo -e ' prefix=/ \n CC=clang \n CXX=clang++ \n CLANG_TIDY=clang-tidy ' > config-defaults.mk
misc/cirun -u 1000 misc/version.sh
- name: 'Make all check'
run: |
$CIMAKE -j`nproc` all check
- name: 'Make clang-tidy'
run: |
$CIMAKE -j`nproc` clang-tidy
# Artifact upload from clang-tidy
- uses: actions/[email protected]
with: { name: clang-tidy, path: out/clang-tidy/ }
Release-Upload:
needs: [Focal-Assets, Arch-Replay]
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
env:
GH_TOKEN: ${{ github.token }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download Release Assets
uses: actions/download-artifact@v3
- run: ls -lR assets/
- name: Create Release with Assets
run: misc/publish.sh
Ping-IRC:
if: always()
needs: [Focal-Assets, Arch-Replay, Focal-Clang-Tidy, Release-Upload]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check Jobs
run: |
echo '${{ needs.Focal-Assets.result }}' '${{ needs.Arch-Replay.result }}' '${{ needs.Focal-Clang-Tidy.result }}' '${{ needs.Release-Upload.result }}'
[[ ${{ needs.Focal-Assets.result }} =~ success|skipped ]]
[[ ${{ needs.Arch-Replay.result }} =~ success|skipped ]]
[[ ${{ needs.Focal-Clang-Tidy.result }} =~ success|skipped ]]
[[ ${{ needs.Release-Upload.result }} =~ success|skipped ]]
- name: Ping IRC
if: always()
run: |
R='${{ github.repository }}' && R=${R#*/}
B='${{ github.ref }}' && B=${B#refs/heads/}
S='${{ job.status }}' && URL='${{ github.event.head_commit.url }}'
U='${{ github.actor }}' && B="$(git branch --show-current)"
MSG=$(git log -1 --format='%s')
.github/workflows/ircbot.py -q -j "#Anklang" -R "$R" -U "$U" -D "$B" -S "$S" "$MSG" "$URL"