-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
95 lines (72 loc) · 2.53 KB
/
build.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
name: Build
on: [push, pull_request]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CMAKE_OPTIONS: |
-Dtests=ON -Dsymbols=ON -Ddisplay-install-paths=ON
MUMBLE_ENVIRONMENT_SOURCE: 'https://dl.mumble.info/build/vcpkg/'
jobs:
skip_test:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
concurrent_skipping: same_content_newer
skip_after_successful_duplicate: 'true'
fetch_build_number:
runs-on: ubuntu-latest
outputs:
build_number: ${{ steps.fetch.outputs.build_number }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
- id: fetch
shell: bash
run: |
echo "build_number=$( '${{ github. workspace }}/scripts/mumble-build-number.py' \
--commit ${{ github.sha }} --version $( '${{ github.workspace }}/scripts/mumble-version.py' ) \
--password '${{ secrets.BUILD_NUMBER_TOKEN }}' --default 0 )" >> $GITHUB_OUTPUT
build:
needs: [ skip_test, fetch_build_number ]
if: needs.skip_test.outputs.should_skip != 'true'
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04]
type: [shared] # Currently the "static" build doesn't work for Linux systems
arch: [64bit]
runs-on: ${{ matrix.os }}
steps:
- name: Print diskspace
run: df -BM
shell: bash
- uses: actions/checkout@v4
with:
submodules: 'recursive'
fetch-depth: 1
- name: Set environment variables
run: $GITHUB_WORKSPACE/.github/workflows/set_environment_variables.sh "${{ matrix.os }}" "${{ matrix.type }}" "${{ matrix.arch }}" "${{ runner.workspace }}"
shell: bash
- uses: actions/cache@v4
with:
path: '${{ env.MUMBLE_BUILD_ENV_PATH }}'
key: ${{ env.MUMBLE_ENVIRONMENT_VERSION }}
- uses: ./.github/actions/install-dependencies
with:
type: ${{ matrix.type }}
os: ${{ matrix.os }}
arch: ${{ matrix.arch }}
- name: Build
run: ./.github/workflows/build.sh
shell: bash
env:
MUMBLE_BUILD_NUMBER: ${{ needs.fetch_build_number.outputs.build_number }}
- name: Test
working-directory: ${{ github.workspace }}/build
shell: bash
run: QT_QPA_PLATFORM=offscreen ctest --output-on-failure -C $BUILD_TYPE