-
Notifications
You must be signed in to change notification settings - Fork 7
146 lines (127 loc) · 3.73 KB
/
main.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
135
136
137
138
139
140
141
142
143
144
145
146
name: build package
on:
push:
branches: [ main, gha ]
tags: [ 'v*' ]
pull_request:
branches: [ main ]
jobs:
package:
runs-on: ubuntu-latest
# container: archlinux:base-devel
steps:
- name: prepare build deps
run: |
sudo apt-get install -y pandoc lintian
- uses: actions/checkout@v3
with:
submodules: recursive
- name: prepare
uses: ./.github/actions/cachetar
- name: podman test
run: |
id -a
cat /etc/subuid
cat /etc/subgid
- name: container apt cache
uses: actions/cache/restore@v3
env:
PATH: /cachetar:/usr/local/bin:/usr/bin:/bin
with:
path: ubuntu_22.04/.cache
key: ubuntu_22.04-apt-cache-${{ github.run_id }}
restore-keys: |
ubuntu_22.04-apt-cache
- name: container image cache
uses: actions/cache/restore@v3
env:
PATH: /cachetar:/usr/local/bin:/usr/bin:/bin
with:
path: ~/.local/share/containers/storage
key: ubuntu_22.04-podman-cache-${{ github.run_id }}
restore-keys: |
ubuntu_22.04-podman-cache
- name: deps cache
uses: actions/cache/restore@v3
env:
PATH: /cachetar:/usr/local/bin:/usr/bin:/bin
with:
path: ubuntu_22.04/01-deps/packages
key: ubuntu_22.04-deps-cache-${{ github.run_id }}
restore-keys: |
ubuntu_22.04-deps-cache
- name: Build deps image
run: |
cd ubuntu_22.04/01-deps
make image
- name: Build deps
run: |
cd ubuntu_22.04/01-deps
make
- name: Build gamescope build image
run: |
cd ubuntu_22.04/02-gamescope
make image
- name: Build gamescope
run: |
(cd gamescope; git fetch --tags --no-recurse-submodules)
cd ubuntu_22.04/02-gamescope
make
- name: Build package
run: |
git fetch --tags --no-recurse-submodules --force
cd ubuntu_22.04/03-package
make
- name: Publish artifact
uses: actions/upload-artifact@v3
with:
name: gamescope-deb
path: ubuntu_22.04/03-package/*.deb
- name: Lint package
run: |
cd ubuntu_22.04/03-package
make lint
- name: Test install package
run: |
cd ubuntu_22.04/03-package
make test-install
- name: save container image cache
uses: actions/cache/save@v3
if: always()
env:
PATH: /cachetar:/usr/local/bin:/usr/bin:/bin
with:
path: ~/.local/share/containers/storage
key: ubuntu_22.04-podman-cache-${{ github.run_id }}
- name: save deps cache
uses: actions/cache/save@v3
if: always()
env:
PATH: /cachetar:/usr/local/bin:/usr/bin:/bin
with:
path: ubuntu_22.04/01-deps/packages
key: ubuntu_22.04-deps-cache-${{ github.run_id }}
- name: save apt cache
uses: actions/cache/save@v3
if: always()
env:
PATH: /cachetar:/usr/local/bin:/usr/bin:/bin
with:
path: ubuntu_22.04/.cache
key: ubuntu_22.04-apt-cache-${{ github.run_id }}
release:
if: startsWith(github.ref, 'refs/tags/v')
needs: package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: gamescope-deb
path: ubuntu_22.04/03-package/
- name: Publish github release
run: |
git fetch --tags --force
make github_release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}