-
-
Notifications
You must be signed in to change notification settings - Fork 531
79 lines (77 loc) · 3.41 KB
/
CI_alpine.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
name: Alpine
on:
push:
branches-ignore:
- 'l10n_**' # Push events to translation service branches (that begin with "l10n_")
pull_request:
# Match all pull requests...
paths-ignore:
# Except some text-only files / documentation
- 'ChangeLog'
# Except those that only include changes to stats
- 'data/base/stats/**'
- 'data/mp/stats/**'
- 'data/mp/multiplay/script/functions/camTechEnabler.js'
jobs:
alpine-latest:
strategy:
matrix:
include:
- name: "Alpine :LATEST [GCC]"
compiler: 'gcc'
cc: '/usr/bin/gcc'
cxx: '/usr/bin/g++'
fail-fast: false
name: '${{ matrix.name }}'
permissions:
contents: read
env:
# Since this workflow doesn't build any artifacts for distribution, set WZ_CI_DISABLE_BASIS_COMPRESS_TEXTURES to speed up the job
WZ_CI_DISABLE_BASIS_COMPRESS_TEXTURES: ON
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
path: 'src'
- name: Prepare Git Repo for autorevision
working-directory: '${{ github.workspace }}/src'
run: cmake -P .ci/githubactions/prepare_git_repo.cmake
- name: Init Git Submodules
working-directory: '${{ github.workspace }}/src'
run: git submodule update --init --recursive
- name: Build the Docker image
working-directory: '${{ github.workspace }}/src'
run: |
docker build --build-arg UID=$UID -f docker/alpine-latest/Dockerfile -t alpine .
- name: Prep Directories
run: |
mkdir -p "${{ github.workspace }}/build"
- name: CMake Configure
working-directory: '${{ github.workspace }}/build'
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: |
echo "::add-matcher::${GITHUB_WORKSPACE}/src/.ci/githubactions/pattern_matchers/cmake.json"
docker run --rm -w "${GITHUB_WORKSPACE}/build" -e WZ_CI_DISABLE_BASIS_COMPRESS_TEXTURES -e CC -e CXX -e "CI=true" -e GITHUB_WORKFLOW -e GITHUB_ACTIONS -e GITHUB_REPOSITORY -e GITHUB_WORKSPACE -e GITHUB_SHA -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e MAKEFLAGS -v "${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE}" alpine cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWZ_ENABLE_WARNINGS:BOOL=OFF -DWZ_FINDSDL2_NOCONFIG:BOOL=ON "${{ github.workspace }}/src"
echo "::remove-matcher owner=cmake::"
- name: CMake Build
working-directory: '${{ github.workspace }}/build'
env:
WZ_COMPILER: ${{ matrix.compiler }}
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: |
if [ "$WZ_COMPILER" == "clang" ]; then
echo "::add-matcher::${GITHUB_WORKSPACE}/src/.ci/githubactions/pattern_matchers/clang.json"
else
echo "::add-matcher::${GITHUB_WORKSPACE}/src/.ci/githubactions/pattern_matchers/gcc.json"
fi
docker run --rm -w "${GITHUB_WORKSPACE}/build" -e WZ_CI_DISABLE_BASIS_COMPRESS_TEXTURES -e CC -e CXX -e "CI=true" -e GITHUB_WORKFLOW -e GITHUB_ACTIONS -e GITHUB_REPOSITORY -e GITHUB_WORKSPACE -e GITHUB_SHA -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e MAKEFLAGS -v "${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE}" alpine cmake --build . -- -k
if [ "$WZ_COMPILER" == "clang" ]; then
echo "::remove-matcher owner=clang::"
else
echo "::remove-matcher owner=gcc::"
fi