forked from vegastrike/Vega-Strike-Engine-Source
-
Notifications
You must be signed in to change notification settings - Fork 0
140 lines (123 loc) · 4.12 KB
/
macos-release.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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
name: 'MacOS-Release'
on:
release:
types:
- created
- edited
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
name: Build
runs-on: ${{ matrix.os }}
continue-on-error: true
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
os:
# x86-64
- macos-13
# M1 processor
#- macos-14
python-version:
#- 3.12.8
- 3.13.1
compiler:
- AppleClang
#- clang
#- gcc
homebrew-gl:
- true
#- false
homebrew-al:
- true
#- false
ENABLE_PIE:
- 'ON'
#- 'OFF'
build-type:
- RelWithDebInfo
steps:
# The following dependencies are already present within macos-* images:
# - clang (llvm)
# - cmake
# - expat
# - gcc
# - git
# - jpeg
# - libpng
# - ~libvorbis~
# - python
# specific setup for Python on Mac to ensure Python Version align
- name: Python Setup on Mac
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
id: vega-py-setup
with:
python-version: ${{ matrix.python-version }}
update-environment: true # false
- name: Install dependencies using homebrew
run: brew install boost-python3 gtk+3 gtkglext sdl libvorbis
# The following Apple-provided libraries are deprecated:
# * OpenGL as of macOS 10.14
# * GLUT as of macOS 10.9
- name: Optionally install homebrewed OpenGL and GLUT
if: ${{ matrix.homebrew-gl }}
run: |
brew install mesa mesa-glu freeglut
ln -s "$(brew --prefix)/include/GL" "$(brew --prefix)/include/OpenGL"
ln -s "$(brew --prefix)/include/GL" "$(brew --prefix)/include/GLUT"
# The Apple-provided OpenAL is deprecated as of macOS 10.15
- name: Optionally install homebrewed OpenAL
if: ${{ matrix.homebrew-al }}
run: brew install openal-soft
- name: Check out repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 2
submodules: false
- name: Extract tag name and short SHA
shell: bash
run: |
echo "TAG_NAME=$(echo ${GITHUB_REF#refs/tags/} | sed 's/\//_/g')" >> $GITHUB_ENV
echo "SHORT_SHA=`git rev-parse --short HEAD`" >> $GITHUB_ENV
- name: Test tag name and short SHA
run: |
echo "${TAG_NAME}"
echo "${SHORT_SHA}"
- name: Build it
env:
MY_OS_NAME: macos
COMPILER: ${{ matrix.compiler }}
FLAGS: "-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DCMAKE_FIND_FRAMEWORK=LAST -DENABLE_PIE=${{ matrix.ENABLE_PIE }} -DPython3_ROOT_DIR=${{ matrix.vega-py-setup.outputs.python-path }} -DPythonInstalledVia=Homebrew"
OPENALDIR: "$(brew --prefix)/opt/openal-soft"
Python3_ROOT_DIR: ${{ matrix.vega-py-setup.outputs.python-path }}
Python_ROOT_DIR: ${{ matrix.vega-py-setup.outputs.python-path }}
pythonLocation: ${{ matrix.vega-py-setup.outputs.python-path }}
PYTHONHOME: ""
PYTHONPATH: ""
IS_RELEASE: 1
run: script/cibuild $FLAGS
- name: Test
working-directory: ${{github.workspace}}/build
env:
GTEST_OUTPUT: xml
GTEST_COLOR: 1
run: ctest -V
- name: Upload test results
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 #v4.3.3
if: failure()
with:
name: test_results_xml
path: ${{github.workspace}}/build/test-results/**/*.xml
- name: Package it
working-directory: ${{github.workspace}}/build
run: cpack -V
- name: Upload the artifacts
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8
if: startsWith(github.ref, 'refs/tags/')
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: "packages/*.*"