Skip to content

Commit 7ea672e

Browse files
committed
CI - update to v4 of GitHub actions
1 parent a61763a commit 7ea672e

File tree

1 file changed

+20
-109
lines changed

1 file changed

+20
-109
lines changed

.github/workflows/build.yml

Lines changed: 20 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,152 +1,80 @@
11
name: Build
22

33
on:
4-
# Do it on every push or PR on these branches
54
push:
65
branches: [dev, stable]
76
pull_request:
87
branches: [dev, stable]
9-
# Do build on demand
108
workflow_dispatch:
119

1210
jobs:
13-
# Build Sonic Pi
1411
build:
1512
name: "${{matrix.title}} (${{matrix.cc}}, ${{matrix.arch}}, ${{matrix.build_type}})"
1613
runs-on: ${{matrix.os}}
1714
strategy:
1815
fail-fast: false
1916
matrix:
2017
include:
21-
- {
22-
title: "Linux",
23-
os: "ubuntu-latest",
24-
cc: "clang",
25-
arch: "x64",
26-
build_type: "Release",
27-
}
28-
- {
29-
title: "Linux",
30-
os: "ubuntu-latest",
31-
cc: "clang",
32-
arch: "x64",
33-
build_type: "Debug",
34-
}
35-
- {
36-
title: "Linux",
37-
os: "ubuntu-latest",
38-
cc: "gcc",
39-
arch: "x64",
40-
build_type: "Release",
41-
}
42-
- {
43-
title: "Linux",
44-
os: "ubuntu-latest",
45-
cc: "gcc",
46-
arch: "x64",
47-
build_type: "Debug",
48-
}
49-
- {
50-
title: "Windows",
51-
os: "windows-latest",
52-
cc: "vs2022",
53-
arch: "x64",
54-
build_type: "Release",
55-
}
56-
- {
57-
title: "Windows",
58-
os: "windows-latest",
59-
cc: "vs2022",
60-
arch: "x64",
61-
build_type: "Debug",
62-
}
63-
- {
64-
title: "Mac",
65-
os: "macos-latest",
66-
cc: "clang",
67-
arch: "x64",
68-
build_type: "Release",
69-
}
70-
- {
71-
title: "Mac",
72-
os: "macos-latest",
73-
cc: "clang",
74-
arch: "x64",
75-
build_type: "Debug",
76-
}
77-
- {
78-
title: "Mac",
79-
os: "macos-latest",
80-
cc: "clang",
81-
arch: "arm64",
82-
build_type: "Release",
83-
}
84-
- {
85-
title: "Mac",
86-
os: "macos-latest",
87-
cc: "clang",
88-
arch: "arm64",
89-
build_type: "Debug",
90-
}
18+
- { title: "Linux", os: "ubuntu-latest", cc: "clang", arch: "x64", build_type: "Release" }
19+
- { title: "Linux", os: "ubuntu-latest", cc: "clang", arch: "x64", build_type: "Debug" }
20+
- { title: "Linux", os: "ubuntu-latest", cc: "gcc", arch: "x64", build_type: "Release" }
21+
- { title: "Linux", os: "ubuntu-latest", cc: "gcc", arch: "x64", build_type: "Debug" }
22+
- { title: "Windows", os: "windows-latest", cc: "vs2022", arch: "x64", build_type: "Release" }
23+
- { title: "Windows", os: "windows-latest", cc: "vs2022", arch: "x64", build_type: "Debug" }
24+
- { title: "Mac", os: "macos-latest", cc: "clang", arch: "x64", build_type: "Release" }
25+
- { title: "Mac", os: "macos-latest", cc: "clang", arch: "x64", build_type: "Debug" }
26+
- { title: "Mac", os: "macos-latest", cc: "clang", arch: "arm64", build_type: "Release" }
27+
- { title: "Mac", os: "macos-latest", cc: "clang", arch: "arm64", build_type: "Debug" }
9128

9229
steps:
93-
# Get the code
94-
- uses: actions/checkout@v2
30+
- uses: actions/checkout@v4
9531

96-
# Install Ruby for the windows build
97-
- uses: ruby/setup-ruby@v1
32+
- uses: ruby/setup-ruby@v4
9833
id: ruby-inst
9934
with:
10035
ruby-version: 3.2
10136
if: matrix.os == 'windows-latest'
10237

103-
# Install gems Windows
10438
- name: Setup Ruby Windows
10539
working-directory: ${{github.workspace}}/app
10640
run: |
10741
gem install rugged
10842
gem install test-unit
10943
if: matrix.os == 'windows-latest'
11044

111-
# Install gems Linux/Max - needs sudo
11245
- name: Setup Ruby Gems
11346
working-directory: ${{github.workspace}}/app
11447
run: |
11548
sudo gem install rugged
11649
sudo gem install test-unit
11750
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
11851

119-
# For windows we build a symlink in the bash shell because the windows method does not seem to work.
12052
- name: Add SymLink for Windows
12153
working-directory: ${{github.workspace}}/app/server/native
12254
run: |
12355
ln -s ${{steps.ruby-inst.outputs.ruby-prefix}} ruby
12456
if: matrix.os == 'windows-latest'
12557

126-
# Get Qt
12758
- name: Install Qt 6
128-
uses: jurplel/install-qt-action@v3
59+
uses: jurplel/install-qt-action@v4
12960
with:
13061
modules: "qtpositioning qtwebchannel qtwebengine qtwebsockets"
13162
version: "6.7.0"
13263

133-
# Install Elixir on Ubuntu
13464
- name: Linux Elixir
135-
uses: erlef/setup-beam@v1
65+
uses: erlef/setup-beam@v4
13666
with:
13767
otp-version: "26.1.2"
13868
elixir-version: "1.15.7"
13969
if: matrix.os == 'ubuntu-latest'
14070

141-
# Install Elixir on Windows
14271
- name: Win Elixir
143-
uses: erlef/setup-beam@v1
72+
uses: erlef/setup-beam@v4
14473
with:
14574
otp-version: "26.1.2"
14675
elixir-version: "1.15.7"
14776
if: matrix.os == 'windows-latest'
14877

149-
# Install Elixir on MacOS
15078
- name: Mac Elixir
15179
continue-on-error: true
15280
run: |
@@ -155,7 +83,6 @@ jobs:
15583
brew install elixir
15684
if: matrix.os == 'macos-latest'
15785

158-
# Prebuild on Ubuntu
15986
- name: Prebuild Linux
16087
working-directory: ${{github.workspace}}/app
16188
env:
@@ -166,19 +93,14 @@ jobs:
16693
./linux-prebuild.sh
16794
if: matrix.os == 'ubuntu-latest'
16895

169-
# Prebuild on Mac
17096
- name: Prebuild Mac
17197
working-directory: ${{github.workspace}}/app
17298
env:
17399
CC: ${{ matrix.cc }}
174100
QT_INSTALL_LOCATION: ${{env.Qt6_DIR}}
175-
run: |
176-
./mac-prebuild.sh
101+
run: ./mac-prebuild.sh
177102
if: matrix.os == 'macos-latest'
178103

179-
# Prebuild on Windows
180-
# Note that we 'hide' the msys folders on windows to stop conflicts when building
181-
# Flac
182104
- name: Prebuild Windows
183105
working-directory: ${{github.workspace}}/app
184106
shell: cmd
@@ -190,41 +112,31 @@ jobs:
190112
win-prebuild.bat
191113
if: matrix.os == 'windows-latest'
192114

193-
#- name: Setup tmate session
194-
# uses: mxschmitt/action-tmate@v3
195-
196-
# Run Configuration Config on Ubuntu
197115
- name: Config Linux
198116
working-directory: ${{github.workspace}}/app
199117
env:
200118
CC: ${{ matrix.cc }}
201119
QT_INSTALL_LOCATION: ${{env.Qt6_DIR}}
202-
run: |
203-
./linux-config.sh --config ${{ matrix.build_type }}
120+
run: ./linux-config.sh --config ${{ matrix.build_type }}
204121
if: matrix.os == 'ubuntu-latest'
205122

206-
# Run Configuration Config on Mac
207123
- name: Config Mac
208124
working-directory: ${{github.workspace}}/app
209125
env:
210126
CC: ${{ matrix.cc }}
211127
QT_INSTALL_LOCATION: ${{env.Qt6_DIR}}
212-
run: |
213-
./mac-config.sh --config ${{ matrix.build_type }}
128+
run: ./mac-config.sh --config ${{ matrix.build_type }}
214129
if: matrix.os == 'macos-latest'
215130

216-
# Run Configuration Config on Windows
217131
- name: Config Windows
218132
working-directory: ${{github.workspace}}/app
219133
shell: cmd
220134
env:
221135
CC: ${{ matrix.cc }}
222136
QT_INSTALL_LOCATION: ${{env.Qt6_DIR}}
223-
run: |
224-
win-config.bat ${{ matrix.build_type }}
137+
run: win-config.bat ${{ matrix.build_type }}
225138
if: matrix.os == 'windows-latest'
226139

227-
# Finally: Build
228140
- name: Build Linux
229141
working-directory: ${{github.workspace}}/app
230142
run: ./linux-build-gui.sh
@@ -241,7 +153,6 @@ jobs:
241153
run: win-build-gui.bat ${{ matrix.build_type }}
242154
if: matrix.os == 'windows-latest'
243155

244-
# Build Tau server
245156
- name: Build Tau Server (Linux)
246157
working-directory: ${{github.workspace}}/app
247158
run: ./linux-post-tau-prod-release.sh
@@ -328,7 +239,7 @@ jobs:
328239
if: matrix.os == 'windows-latest'
329240

330241
- name: Archive Logs
331-
uses: actions/upload-artifact@v2
242+
uses: actions/upload-artifact@v4
332243
if: ${{ always() }}
333244
with:
334245
name: Logs_${{matrix.title}}_${{matrix.cc}}_${{matrix.arch}}_${{matrix.build_type}}

0 commit comments

Comments
 (0)