Skip to content

Commit c03f8ef

Browse files
authored
feat(ci): Remove out of date Steam CI configurations and enable testing for Steam Linux build (endless-sky#10545)
1 parent 019c6b8 commit c03f8ef

File tree

4 files changed

+42
-33
lines changed

4 files changed

+42
-33
lines changed

.github/path-filters.yml

+3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ unit_tests:
1414
integration_tests:
1515
- 'tests/integration/config/plugins/integration-tests/**'
1616

17+
steam:
18+
- 'steam/**'
19+
1720
doxygen_config:
1821
- 'Doxyfile'
1922

.github/workflows/ci.yml

+35-2
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ name: CI
22

33
on:
44
push:
5-
# Run for pushes to master or a release branch, e.g. a PR was merged ...
5+
# Run for pushes to master, e.g. a PR was merged ...
66
branches:
77
- master
8-
- releases/v[0-9]+.[0-9]+.[0-9]+
98
# ... and only when we've possibly changed how the game will function.
109
paths:
1110
- 'source/**'
1211
- 'data/**'
1312
- 'tests/**'
1413
- '.github/workflows/**'
14+
- '.github/path-filters.yml'
15+
- 'steam/**'
1516
- 'CMakeLists.txt'
1617
- 'CMakePresets.json'
1718
- Doxyfile
@@ -24,6 +25,8 @@ on:
2425
- 'data/**'
2526
- 'tests/**'
2627
- '.github/workflows/**'
28+
- '.github/path-filters.yml'
29+
- 'steam/**'
2730
- 'CMakeLists.txt'
2831
- 'CMakePresets.json'
2932
- Doxyfile
@@ -84,6 +87,36 @@ jobs:
8487
run: ctest --preset ${{ matrix.opengl == 'GL' && 'linux-ci-benchmark' || 'linux-gles-ci-benchmark' }}
8588

8689

90+
build_steam:
91+
name: Steam
92+
needs: changed
93+
if: ${{ needs.changed.outputs.game_code == 'true' || needs.changed.outputs.unit_tests == 'true' || needs.changed.outputs.integration_tests == 'true' || needs.changed.outputs.cmake_files == 'true' || needs.changed.outputs.ci_config == 'true' || needs.changed.outputs.steam == 'true' }}
94+
runs-on: ubuntu-latest
95+
env:
96+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97+
steps:
98+
- uses: actions/checkout@v4
99+
with:
100+
show-progress: false
101+
- name: Setup cached directories
102+
uses: actions/cache@v4
103+
with:
104+
path: /home/runner/.cache/sccache
105+
key: ${{ runner.os }}-steam-ci-sccache-${{ github.ref }}
106+
restore-keys: |
107+
${{ runner.os }}-steam-ci-sccache-refs/heads/master
108+
- name: Setup sccache
109+
uses: Mozilla-Actions/sccache-action@v0.0.5
110+
- name: Build Endless Sky
111+
run: |
112+
cd steam
113+
docker compose run steam-x64
114+
- name: Test Endless Sky
115+
run: |
116+
cd steam
117+
docker compose run test-steam-x64
118+
119+
87120
build_windows:
88121
name: Windows
89122
needs: changed

.github/workflows/compute-changes.yml

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ on:
1111
value: ${{ jobs.changed.outputs.unit_tests }}
1212
integration_tests:
1313
value: ${{ jobs.changed.outputs.integration_tests }}
14+
steam:
15+
value: ${{ jobs.changed.outputs.steam }}
1416
doxygen_config:
1517
value: ${{ jobs.changed.outputs.doxygen_config }}
1618
codespell:
@@ -42,6 +44,7 @@ jobs:
4244
game_code: ${{ steps.filter.outputs.game_code }}
4345
unit_tests: ${{ steps.filter.outputs.unit_tests }}
4446
integration_tests: ${{ steps.filter.outputs.integration_tests }}
47+
steam: ${{ steps.filter.outputs.steam }}
4548
codespell: ${{ steps.filter.outputs.codespell }}
4649
editorconfig_files: ${{ steps.filter.outputs.editorconfig_files }}
4750
content_style_check: ${{ steps.filter.outputs.content_style_check }}

steam/docker-compose.yml

+1-31
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,6 @@ services:
1515
ninja EndlessSky
1616
1717
18-
steam-x86:
19-
image: registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest
20-
working_dir: /endless-sky
21-
volumes:
22-
- '..:/endless-sky'
23-
command:
24-
- '/bin/bash'
25-
- '-c'
26-
- |
27-
mkdir -p build/steam-x86
28-
cd build/steam-x86
29-
cmake ../../ -GNinja -DES_STEAM=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-m32 -DVCPKG_TARGET_TRIPLET=linux-x86-release-static
30-
ninja EndlessSky
31-
32-
3318
test-steam-x64:
3419
image: registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest
3520
volumes:
@@ -42,19 +27,4 @@ services:
4227
cd build/steam-x64
4328
ninja
4429
./endless-sky --version
45-
ctest --label-exclude "(benchmark|integration-debug)"
46-
47-
48-
test-steam-x86:
49-
image: registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest
50-
volumes:
51-
- '..:/endless-sky'
52-
working_dir: /endless-sky
53-
command:
54-
- '/bin/bash'
55-
- '-c'
56-
- |
57-
cd build/steam-x86
58-
ninja
59-
./endless-sky --version
60-
ctest --label-exclude "(benchmark|integration-debug)"
30+
ctest --label-exclude "integration-debug"

0 commit comments

Comments
 (0)