-
-
Notifications
You must be signed in to change notification settings - Fork 503
134 lines (134 loc) · 6.78 KB
/
dietpi-build.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
133
134
name: DietPi-Build
on:
workflow_dispatch:
inputs:
buildargs:
description: 'DietPi-Build arguments'
required: true
concurrency:
group: ${{ github.workflow }}-${{ github.event.inputs.buildargs }}
cancel-in-progress: true
permissions: {}
jobs:
prep:
outputs:
buildargs: ${{ steps.buildargs.outputs.buildargs }}
# https://github.com/actions/runner-images
runs-on: ubuntu-22.04
steps:
- id: buildargs
run: |
if [ "${{ github.event.inputs.buildargs }}" = 'all' ]
then
echo buildargs=[\
'"-m 0 -a 1 -d 6 -e all", "-m 0 -a 2 -d 6 -e all", "-m 0 -a 3 -d 6 -e all", '\
'"-m 0 -a 1 -d 7 -e all", "-m 0 -a 2 -d 7 -e all", "-m 0 -a 3 -d 7 -e all", '\
'"-m 0 -a 1 -d 8 -e all", "-m 0 -a 2 -d 8 -e all", "-m 0 -a 3 -d 8 -e all", '\
'"-m 1 -d 7 -e all", "-m 1 -d 8 -e all", '\
'"-m 2 -d 7 -e all", "-m 2 -d 8 -e all", '\
'"-m 4 -d 7 -e all", "-m 4 -d 8 -e all", '\
'"-m 5 -d 7 -e all", "-m 5 -d 8 -e all", '\
'"-m 10 -d 6", "-m 10 -d 7", "-m 10 -d 8", '\
'"-m 11 -d 6", "-m 11 -d 7", "-m 11 -d 8", '\
'"-m 12 -d 6", "-m 12 -d 7", "-m 12 -d 8", '\
'"-m 15 -d 6", "-m 15 -d 7", "-m 15 -d 8", '\
'"-m 16 -d 6", "-m 16 -d 7", "-m 16 -d 8", '\
'"-m 20 -d 6 -v all", "-m 20 -d 7 -v all", "-m 20 -d 8 -v all", '\
'"-m 21 -d 6", "-m 21 -d 7", "-m 21 -d 8", '\
'"-m 21 -d 6 -i", "-m 21 -d 7 -i", "-m 21 -d 8 -i", '\
'"-m 21 -d 6 -p gpt", "-m 21 -d 7 -p gpt", "-m 21 -d 8 -p gpt", '\
'"-m 40 -d 6", "-m 40 -d 7", "-m 40 -d 8", '\
'"-m 42 -d 6", "-m 42 -d 7", "-m 42 -d 8", '\
'"-m 43 -d 6", "-m 43 -d 7", "-m 43 -d 8", '\
'"-m 44 -d 6", "-m 44 -d 7", "-m 44 -d 8", '\
'"-m 45 -d 6", "-m 45 -d 7", "-m 45 -d 8", '\
'"-m 46 -d 6", "-m 46 -d 7", "-m 46 -d 8", '\
'"-m 47 -d 6", "-m 47 -d 7", "-m 47 -d 8", '\
'"-m 48 -d 6", "-m 48 -d 7", "-m 48 -d 8", '\
'"-m 49.1 -d 6", "-m 49.1 -d 7", "-m 49.1 -d 8", '\
'"-m 49.2 -d 6", "-m 49.2 -d 7", "-m 49.2 -d 8", '\
'"-m 49.3 -d 6", "-m 49.3 -d 7", "-m 49.3 -d 8", '\
'"-m 52 -d 6", "-m 52 -d 7", "-m 52 -d 8", '\
'"-m 54 -d 6", "-m 54 -d 7", "-m 54 -d 8", '\
'"-m 55 -d 6", "-m 55 -d 7", "-m 55 -d 8", '\
'"-m 56 -d 6", "-m 56 -d 7", "-m 56 -d 8", '\
'"-m 57 -d 6", "-m 57 -d 7", "-m 57 -d 8", '\
'"-m 58 -d 6", "-m 58 -d 7", "-m 58 -d 8", '\
'"-m 59 -d 6", "-m 59 -d 7", "-m 59 -d 8", '\
'"-m 60 -d 6", "-m 60 -d 7", "-m 60 -d 8", '\
'"-m 61 -d 6", '\
'"-m 62.1 -d 6", "-m 62.2 -d 6", '\
'"-m 63 -d 6", "-m 63 -d 7", "-m 63 -d 8", '\
'"-m 64 -d 6", "-m 64 -d 7", "-m 64 -d 8", '\
'"-m 65.1 -d 6", "-m 65.1 -d 7", "-m 65.1 -d 8", '\
'"-m 65.2 -d 6", "-m 65.2 -d 7", "-m 65.2 -d 8", '\
'"-m 66 -d 6", "-m 66 -d 7", "-m 66 -d 8", '\
'"-m 67 -d 6", "-m 67 -d 7", "-m 67 -d 8", '\
'"-m 68.1 -d 6", "-m 68.1 -d 7", "-m 68.1 -d 8", '\
'"-m 68.2 -d 6", "-m 68.2 -d 7", "-m 68.2 -d 8", '\
'"-m 68.3 -d 6", "-m 68.3 -d 7", "-m 68.3 -d 8", '\
'"-m 70 -d 6 -e all", '\
'"-m 72.1 -d 6", "-m 72.1 -d 7", "-m 72.1 -d 8", '\
'"-m 72.2 -d 6", "-m 72.2 -d 7", "-m 72.2 -d 8", '\
'"-m 72.3 -d 6", "-m 72.3 -d 7", "-m 72.3 -d 8", '\
'"-m 73 -d 6", "-m 73 -d 7", "-m 73 -d 8", '\
'"-m 74 -d 6", "-m 74 -d 7", "-m 74 -d 8", '\
'"-m 75 -a 1 -d 6", "-m 75 -a 2 -d 6", "-m 75 -a 3 -d 6", "-m 75 -a 10 -d 6", '\
'"-m 75 -a 1 -d 7", "-m 75 -a 2 -d 7", "-m 75 -a 3 -d 7", "-m 75 -a 10 -d 7", '\
'"-m 75 -a 1 -d 8", "-m 75 -a 2 -d 8", "-m 75 -a 3 -d 8", "-m 75 -a 10 -d 8", "-m 75 -a 11 -d 8", '\
'"-m 76.1 -d 6", "-m 76.1 -d 7", "-m 76.1 -d 8", '\
'"-m 76.2 -d 6", "-m 76.2 -d 7", "-m 76.2 -d 8", '\
'"-m 77 -d 6", "-m 77 -d 7", "-m 77 -d 8", '\
'"-m 78 -d 6", "-m 78 -d 7", "-m 78 -d 8", '\
'"-m 79.1 -d 6", "-m 79.1 -d 7", "-m 79.1 -d 8", '\
'"-m 79.2 -d 6", "-m 79.2 -d 7", "-m 79.2 -d 8", '\
'"-m 79.3 -d 6", "-m 79.3 -d 7", "-m 79.3 -d 8", '\
'"-m 80 -d 6", "-m 80 -d 7", "-m 80 -d 8", '\
'"-m 81 -d 8", '\
'"-m 82 -d 6", "-m 82 -d 7", "-m 82 -d 8", '\
'"-m 83.1 -d 6", "-m 83.1 -d 7", "-m 83.1 -d 8", '\
'"-m 83.2 -d 6", "-m 83.2 -d 7", "-m 83.2 -d 8", '\
'"-m 84 -d 8", '\
'"-m 85 -d 6", "-m 85 -d 7", "-m 85 -d 8", '\
'"-m 86 -d 6", "-m 86 -d 7", "-m 86 -d 8", '\
'"-m 87 -d 6", "-m 87 -d 7", "-m 87 -d 8"]' >> "$GITHUB_OUTPUT"
elif [ "${{ github.event.inputs.buildargs }}" = 'quartz64' ]
then
echo buildargs=[\
'"-m 49.1 -d 6", "-m 49.1 -d 7", "-m 49.1 -d 8", '\
'"-m 49.2 -d 6", "-m 49.2 -d 7", "-m 49.2 -d 8", '\
'"-m 49.3 -d 6", "-m 49.3 -d 7", "-m 49.3 -d 8"]' >> "$GITHUB_OUTPUT"
elif [ "${{ github.event.inputs.buildargs }}" = 'rpi' ]
then
echo buildargs=[\
'"-m 0 -a 1 -d 6 -e all", "-m 0 -a 2 -d 6 -e all", "-m 0 -a 3 -d 6 -e all", '\
'"-m 0 -a 1 -d 7 -e all", "-m 0 -a 2 -d 7 -e all", "-m 0 -a 3 -d 7 -e all", '\
'"-m 0 -a 1 -d 8 -e all", "-m 0 -a 2 -d 8 -e all", "-m 0 -a 3 -d 8 -e all"]' >> "$GITHUB_OUTPUT"
else
echo buildargs='["${{ github.event.inputs.buildargs }}"]' >> "$GITHUB_OUTPUT"
fi
build:
needs: prep
strategy:
matrix:
buildargs: ${{ fromJson(needs.prep.outputs.buildargs) }}
fail-fast: false
name: "Build: ${{ matrix.buildargs }}"
runs-on: ubuntu-22.04
steps:
- name: Generate upload script
run: |
sudo dash -c 'umask 377; echo '\''${{ secrets.KNOWN_HOSTS }}'\'' > /root/.ssh/known_hosts; echo '\''${{ secrets.SSH_KEY }}'\'' > /root/.ssh/id_ed25519; > upload.sh; chmod 0711 upload.sh'
echo '#!/bin/dash
set -e
urls="\"https://dietpi.com/downloads/images/testing/\""
for i in "$@"; do urls="$urls,\"https://dietpi.com/downloads/images/testing/${i##*/}\""; done
IFS=,
curl -T "{$*}" --key /root/.ssh/id_ed25519 '\''${{ secrets.UPLOAD_URL }}testing/'\''
curl -H '\''Authorization: Bearer ${{ secrets.CF_TOKEN }}'\'' -H '\''Content-Type: application/json'\'' -d "{\"files\":[$urls]}" '\''https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE }}/purge_cache'\''
echo' | sudo tee upload.sh > /dev/null
sudo gpg --batch --import << _EOF_
${{ secrets.GPG_KEY }}
_EOF_
- name: Run DietPi-Build
run: sudo bash -c "G_GITOWNER=$GITHUB_REPOSITORY_OWNER G_GITBRANCH=$GITHUB_REF_NAME; $(curl -sSf "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/images/dietpi-build")" 'DietPi-Build' ${{ matrix.buildargs }} --sign '${{ secrets.GPG_PASS }}'