-
-
Notifications
You must be signed in to change notification settings - Fork 491
103 lines (93 loc) · 3.83 KB
/
ubuntu-touch.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
# SuperTux
# Copyright (C) 2020-2021 Jacob Burroughs <[email protected]>
# 2020-2022 A. Semphris <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
name: Ubuntu Touch
on:
push:
branches:
- master
tags:
- '*'
pull_request: {}
jobs:
clickable:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
arch: [amd64, arm64, armhf]
# glbinding is missing as it isn't available on Ubuntu 16.04
opengl: [glew, sdl]
exclude:
# FIXME: Debug builds don't work for arm64
- arch: arm64
build_type: Debug
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
# Fetch the whole tree so git describe works
fetch-depth: 0
submodules: true
- name: Install clickable
run: |
# For whatever reason, I have to manually install runc before
# docker.io or containerd, else it fails because of broken dependency
# Using apt-get because apt complains it shouldn't be used in scripts
sudo apt-get update
sudo apt-get install -y runc
sudo apt-get install -y docker.io adb git python3 python3-pip
pip3 install --user git+https://gitlab.com/clickable/clickable.git
# Clickable requires a reboot. This is a sneaky way to bypass that :^)
sudo systemctl unmask docker.service
sudo systemctl start docker.service
- name: Build (OpenGL with GLEW)
if: ${{ matrix.opengl == 'glew' }}
env:
BUILD_TYPE: ${{ (matrix.build_type == 'Debug') && '--debug' || '' }}
ARCH: ${{ matrix.arch }}
run: |
~/.local/bin/clickable build --verbose ${BUILD_TYPE} --arch ${ARCH} \
--config mk/clickable/clickable-glew.yaml
- name: Build (OpenGL with GLbinding)
if: ${{ matrix.opengl == 'glbinding' }}
env:
BUILD_TYPE: ${{ (matrix.build_type == 'Debug') && '--debug' || '' }}
ARCH: ${{ matrix.arch }}
run: |
~/.local/bin/clickable build --verbose ${BUILD_TYPE} --arch ${ARCH} \
--config mk/clickable/clickable-glbinding.yaml
- name: Build (no OpenGL)
if: ${{ matrix.opengl == 'sdl' }}
env:
BUILD_TYPE: ${{ (matrix.build_type == 'Debug') && '--debug' || '' }}
ARCH: ${{ matrix.arch }}
run: |
~/.local/bin/clickable build --verbose ${BUILD_TYPE} --arch ${ARCH}
- uses: actions/upload-artifact@v2
with:
name: "clickable-${{ matrix.arch }}-${{ matrix.build_type }}-${{ matrix.opengl }}-click"
path: build.clickable/*.click
if-no-files-found: ignore
#- name: Publish to Open Store
# if: ${{ github.ref == 'refs/heads/master' && matrix.build_type == 'Release' && matrix.opengl == 'sdl' }}
# env:
# ARCH: ${{ matrix.arch }}
# OPENSTORE_KEY: ${{ secrets.OPENSTORE_KEY }}
# run: |
# ~/.local/bin/clickable publish "* $(git log -1 --pretty=%B | \
# head -1)" --apikey ${OPENSTORE_KEY} \
# --arch ${ARCH}