Welcome to mirror list, hosted at ThFree Co, Russian Federation.

build.yml « workflows « .github - github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b2545552cc4eb8a41681a8c67e391e1c6ab5b0eb (plain)
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
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 -Dgrpc=ON -Ddisplay-install-paths=ON
  MUMBLE_ENVIRONMENT_SOURCE: 'https://dl.mumble.info/build/vcpkg/'


jobs:
  build:
    strategy:
        fail-fast: false
        matrix:
            os: [ubuntu-18.04, ubuntu-20.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@v2
      with:
          submodules: 'recursive'


    - 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@v2
      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: Create build dir
      run: cmake -E make_directory ${{runner.workspace}}/build

    - name: Run CMake
      run: |
          cmake -G Ninja -S $GITHUB_WORKSPACE -B ${{runner.workspace}}/build -DCMAKE_BUILD_TYPE=$BUILD_TYPE $CMAKE_OPTIONS \
            $ADDITIONAL_CMAKE_OPTIONS $VCPKG_CMAKE_OPTIONS
      shell: bash

    - name: Build
      working-directory: ${{runner.workspace}}/build
      run: cmake --build . --config $BUILD_TYPE
      shell: bash

    - name: Test
      working-directory: ${{runner.workspace}}/build
      shell: bash
      run: ctest -v -C $BUILD_TYPE