This repository was archived by the owner on Mar 28, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
134 lines (118 loc) · 3.78 KB
/
linux.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: Linux
on:
workflow_dispatch:
push:
branches:
- "master"
paths-ignore:
- "**/README.md"
pull_request:
branches:
- "*"
paths-ignore:
- "**/README.md"
schedule:
- cron: "0 12 * * *"
env:
BASE_BRANCH: master
SCONS_CACHE_LIMIT: 7168
jobs:
linux-builds:
runs-on: "ubuntu-20.04"
name: ${{ matrix.name }}
strategy:
fail-fast: false
matrix:
include:
- name: Linux Editor
cache-name: linux-editor
target: editor
- name: Linux Template Debug
cache-name: linux-template-debug
target: template_debug
- name: Linux Template Release
cache-name: linux-template-release
target: template_release
steps:
- name: Checkout Godot
uses: actions/checkout@v3
with:
repository: WeaselGames/godot
ref: 2109b77eed825a6b6325d9f45e9c75b900f65719
- name: Checkout LuaAPI
uses: actions/checkout@v3
with:
repository: WeaselGames/godot_luaAPI
ref: main
submodules: recursive
path: modules/luaAPI
- name: Checkout Voxel
uses: actions/checkout@v3
with:
repository: Zylann/godot_voxel
ref: master
path: modules/voxel
- name: Checkout GodotSteam
uses: actions/checkout@v3
with:
repository: Gramps/GodotSteam
ref: godot4
path: modules/godotsteam
- name: Delete SDK Folder
run: |
rm -rf modules/godotsteam/sdk
- name: Checkout SteamWorks SDK
uses: actions/checkout@v3
with:
lfs: "true"
repository: ${{ secrets.steamworks_sdk_repo }}
ref: master
token: ${{ secrets.steamworks_sdk_repo_token }}
path: modules/godotsteam/sdk
# Install all packages except SCons
- name: Configure dependencies
run: |
sudo apt-get update
sudo apt-get install yasm
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
cd x86_64-godot-linux-gnu_sdk-buildroot
./relocate-sdk.sh
- name: Load .scons_cache directory
uses: actions/cache@v2
with:
path: ${{github.workspace}}/.scons_cache/
key: ${{matrix.cache-name}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
restore-keys: |
${{matrix.cache-name}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
${{matrix.cache-name}}-${{env.BASE_BRANCH}}-${{github.ref}}
${{matrix.cache-name}}-${{env.BASE_BRANCH}}
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: "3.x"
architecture: "x64"
- name: Configuring Python packages
run: |
python -c "import sys; print(sys.version)"
python -m pip install scons
python --version
scons --version
- name: Compilation
env:
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
BUILD_NAME: "SP"
run: |
echo /x86_64-godot-linux-gnu_sdk-buildroot >> $GITHUB_PATH
scons platform=linux target=${{ matrix.target }} extra_suffix=SP
- name: Prepare artifact
run: |
strip bin/godot.*
chmod +x bin/godot.*
cp modules/godotsteam/sdk/redistributable_bin/linux64/libsteam_api.so bin/libsteam_api.so
echo "480" > bin/steam_appid.txt
- uses: actions/upload-artifact@v2
with:
name: ${{matrix.cache-name}}
path: bin/*