Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
96895aa
Ignore Pycache and generated artifacts
BarryNorfolk Feb 12, 2025
a7d68a7
Add some common handling for building software
BarryNorfolk Feb 12, 2025
4d4e056
Add all known software for native-builds
BarryNorfolk Feb 14, 2025
7f8e7f3
Add scripts for building on each major platform
BarryNorfolk Feb 14, 2025
35497b1
Update workflow file
BarryNorfolk Feb 14, 2025
714b4b9
Set SDL to cross build a fat binary
BarryNorfolk Feb 14, 2025
d89ae29
Delete old scripts for building natives
BarryNorfolk Feb 14, 2025
2cf9f5f
Add a short readme
BarryNorfolk Feb 14, 2025
6bd2bfe
Don't build freetype on linux
BarryNorfolk Feb 16, 2025
b0fb5f0
Use older ubuntu version for linux builds
BarryNorfolk Feb 16, 2025
0139029
Add specific Platform enum
BarryNorfolk Feb 16, 2025
135832e
Build OSX binaries as x64 only
BarryNorfolk Feb 16, 2025
b42d8fe
Strip debug information out of linux files and place them into .debug…
BarryNorfolk Feb 16, 2025
c1bcb9f
Re-add docker file for linux and use it during builds
BarryNorfolk Feb 18, 2025
9805b9c
Build fluidsynth on Windows
BarryNorfolk Feb 16, 2025
4114732
Add fluidsynth build setup for windows
BarryNorfolk Feb 17, 2025
720243f
Add vcpkg install step to windows
BarryNorfolk Feb 17, 2025
c6ce82d
Add python setup to docker file
BarryNorfolk Feb 18, 2025
753371b
Set default triplets for vcpkg
BarryNorfolk Feb 18, 2025
21084d7
Checkout vcpkg to 2025.02.14
BarryNorfolk Feb 19, 2025
10be6f3
Ensure git ownership isn't a problem for docker runs
BarryNorfolk Feb 19, 2025
57e1165
Ensure we properly get the git information from the root dir at the end
BarryNorfolk Feb 19, 2025
4685eb0
Set glib version to 2.80.0
BarryNorfolk Feb 19, 2025
44a0c2f
Set default installed dir
BarryNorfolk Feb 20, 2025
5ffd6fb
Ensure we're using the release triplet here
BarryNorfolk Feb 20, 2025
27d301f
Ensure we're running and compiling for x64
BarryNorfolk Feb 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 49 additions & 34 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,68 +4,83 @@ on:
workflow_dispatch:

jobs:
#osx-x64:
#osx-arm64:
win-x64:
runs-on: windows-2022
osx-x64:
runs-on: macos-13
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: bootstrap vcpkg
run: ./vcpkg/bootstrap-vcpkg.bat
- name: Install Deps
run: brew install ninja

- name: build vcpkg packages
run: ./windows/build-vcpkg.ps1 x64-windows win-x64
- name: Build
run: python ./scripts/osx.py

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: win-x64
path: builds/win-x64/*.dll
name: osx-x64
path: artifacts
if-no-files-found: error

win-arm64:
runs-on: windows-2022
linux-x64:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: bootstrap vcpkg
run: ./vcpkg/bootstrap-vcpkg.bat
- uses: docker/build-push-action@v2
with:
tags: native-build:latest
file: scripts/linux-build-env.Dockerfile
push: false

- name: build vcpkg packages
run: ./windows/build-vcpkg.ps1 arm64-windows win-arm64
- uses: addnab/docker-run-action@v3
with:
image: native-build:latest
run: python /work/scripts/linux.py
options: -v ${{ github.workspace }}:/work

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: win-arm64
path: builds/win-arm64/*.dll
name: linux-x64
path: artifacts
if-no-files-found: error

win-x64:
runs-on: windows-2022
env:
VCPKG_DEFAULT_TRIPLET: x64-windows-release
VCPKG_DEFAULT_HOST_TRIPLET: x64-windows-release
VCPKG_INSTALLED_DIR: ${{ github.workspace }}/vcpkg_installed

linux-x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0

- name: bootstrap vcpkg
run: ./vcpkg/bootstrap-vcpkg.sh
- name: Install Deps
shell: cmd
run: choco install ninja --limit-output --no-progress

- name: create build container
run: |
cd linux
./build-build-env.sh
- name: Install VCPkg dependencies
uses: lukka/run-vcpkg@v11
with:
runVcpkgInstall: true
vcpkgJsonGlob: 'vcpkg.json'

- name: build vcpkg packages
- name: Build
shell: cmd
run: |
cd linux
./build-vcpkg.sh x64-linux-dynamic linux-x64
call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\Tools\\VsDevCmd.bat" -arch=x64 -host_arch=x64
python ./scripts/windows.py

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: linux-x64
path: builds/linux-x64/*.so*
name: win-x64
path: artifacts
if-no-files-found: error
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
builds/
build/
.DS_Store
artifacts
__pycache__
vcpkg_installed
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# SS14 Native-Build

A collection of submodules providing dependencies for building [Space Station 14](https://github.com/space-wizards/space-station-14).

Building is handled through the `Build Natives` workflow action and relies on Github's runners to perform the actual compilation.
Local building is possible by running your platform's python file under the [scripts](./scripts/) directory. Though you will need to make sure you have all dependencies setup to actually build. Consult the [workflow](./.github/workflows/build.yml) file for your platform and see what's installed from the `Install Deps` step.

Each platform produces an zip file containing all relevant shared libs for it, any debug symbols, and a `notes.md` giving information on where and what commit the code came from.
17 changes: 0 additions & 17 deletions build_freetype_macos.ps1

This file was deleted.

1 change: 0 additions & 1 deletion linux/.gitignore

This file was deleted.

34 changes: 0 additions & 34 deletions linux/__build-glfw-openal.sh

This file was deleted.

16 changes: 0 additions & 16 deletions linux/__build-sdl.sh

This file was deleted.

21 changes: 0 additions & 21 deletions linux/__build-zstd.sh

This file was deleted.

3 changes: 0 additions & 3 deletions linux/build-build-env.sh

This file was deleted.

16 changes: 0 additions & 16 deletions linux/build-glfw-openal-linux.ps1

This file was deleted.

7 changes: 0 additions & 7 deletions linux/build-sdl.ps1

This file was deleted.

14 changes: 0 additions & 14 deletions linux/build-vcpkg.sh

This file was deleted.

7 changes: 0 additions & 7 deletions linux/build-zstd.ps1

This file was deleted.

1 change: 0 additions & 1 deletion macos/.gitignore

This file was deleted.

45 changes: 0 additions & 45 deletions macos/build-sdl.sh

This file was deleted.

27 changes: 0 additions & 27 deletions macos/build-zstd.sh

This file was deleted.

Loading
Loading