diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-05 19:15:47 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-09-11 15:19:17 +1000 |
commit | 37f3178d33ab77de064bcbf10b4b03ddb47cc979 (patch) | |
tree | 76e3b3ce2d8716577af98e2bbbc4a41021db5107 /.github | |
parent | 90db1e0fbadaeb625691d3d0d13f5ae6ef057109 (diff) |
Network compatibility changes
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/build.yml | 231 | ||||
-rw-r--r-- | .github/workflows/build_linux.yml | 76 | ||||
-rw-r--r-- | .github/workflows/build_macos.yml | 97 | ||||
-rw-r--r-- | .github/workflows/build_windows.yml | 89 |
4 files changed, 231 insertions, 262 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..60097c8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,231 @@ +name: Build + +on: + workflow_dispatch: + + pull_request: + branches: + - "*" + +jobs: + build_windows: + name: Build OpenStarbound Windows x64 + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Install CMake & Ninja + uses: lukka/get-cmake@latest + with: + cmakeVersion: 3.29.2 + + - name: sccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + variant: sccache + key: ${{ github.job }}-${{ runner.os }} + max-size: 1000M + + - uses: ilammy/msvc-dev-cmd@v1 + + - name: vcpkg + uses: lukka/run-vcpkg@v11 + id: runvcpkg + with: + vcpkgJsonGlob: '**/source/vcpkg.json' + vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + + - name: Run CMake + uses: lukka/run-cmake@v10 + with: + cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' + configurePreset: 'windows-release' + buildPreset: 'windows-release' + testPreset: 'windows-release' + + - name: Run Post-Build Task + working-directory: ${{ github.workspace }} + run: scripts\ci\windows\post_build.bat + + - name: Assemble Files + working-directory: ${{ github.workspace }} + run: scripts\ci\windows\assemble.bat + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Windows-All-DevOnly + path: dist/* + + - name: Upload Client + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Windows-Client + path: client_distribution/* + + - name: Upload Server + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Windows-Server + path: server_distribution/* + + - name: Create Installer + working-directory: ${{ github.workspace }} + run: | + & "C:\Program Files (x86)\Inno Setup 6\iscc.exe" /Oinstaller scripts\inno\setup.iss + + - name: Upload Installer + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Windows-Installer + path: installer/* + + build_linux: + name: Build OpenStarbound Linux x86_64 + runs-on: ubuntu-20.04 + + steps: + - name: Install Packages + run: | + sudo apt-get update + sudo apt-get install -y pkg-config libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libsdl2-dev + + - name: Install CMake & Ninja + uses: lukka/get-cmake@latest + with: + cmakeVersion: 3.29.2 + + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: sccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + variant: sccache + key: ${{ github.job }}-${{ runner.os }} + max-size: 250M + + - name: vcpkg + uses: lukka/run-vcpkg@v11 + id: runvcpkg + with: + vcpkgJsonGlob: '**/source/vcpkg.json' + vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + + - name: Run CMake + uses: lukka/run-cmake@v10 + with: + cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' + configurePreset: 'linux-release' + buildPreset: 'linux-release' + testPreset: 'linux-release' + + - name: Assemble Files + working-directory: ${{ github.workspace }} + run: scripts/ci/linux/assemble.sh + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Linux + path: dist.tar + + - name: Upload Client Files + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Linux-Client + path: client.tar + + - name: Upload Server Files + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-Linux-Server + path: server.tar + + build-mac-intel: + name: Build OpenStarbound macOS x86_64 + runs-on: macos-13 + + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Install CMake & Ninja + uses: lukka/get-cmake@latest + with: + cmakeVersion: 3.29.0 + + - name: sccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + variant: sccache + key: ${{ github.job }}-Intel-${{ runner.os }} + max-size: 250M + + - name: vcpkg + uses: lukka/run-vcpkg@v11 + id: runvcpkg + with: + vcpkgJsonGlob: '**/source/vcpkg.json' + vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + + - name: Run CMake + uses: lukka/run-cmake@v10 + with: + cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' + configurePreset: 'macos-release' + buildPreset: 'macos-release' + testPreset: 'macos-release' + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-macOS-Intel + path: dist/* + + build-mac-arm: + name: Build OpenStarbound macOS arm64 + runs-on: macos-14 + + steps: + - uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Install CMake & Ninja + uses: lukka/get-cmake@latest + with: + cmakeVersion: 3.29.2 + + - name: sccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + variant: sccache + key: ${{ github.job }}-ARM-${{ runner.os }} + max-size: 250M + + - name: vcpkg + uses: lukka/run-vcpkg@v11 + id: runvcpkg + with: + vcpkgJsonGlob: '**/source/vcpkg.json' + vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' + + - name: Run CMake + uses: lukka/run-cmake@v10 + with: + cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' + configurePreset: 'macos-arm-release' + buildPreset: 'macos-arm-release' + testPreset: 'macos-arm-release' + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: OpenStarbound-macOS-Silicon + path: dist/*
\ No newline at end of file diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml deleted file mode 100644 index 307b30f..0000000 --- a/.github/workflows/build_linux.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Ubuntu Linux - -on: - push: - branches: - - "*" - tags: - - "*" - - pull_request: - branches: - - "*" - -jobs: - build: - name: OpenStarbound Linux x86_64 - runs-on: ubuntu-20.04 - - steps: - - name: Install Packages - run: | - sudo apt-get update - sudo apt-get install -y pkg-config libxmu-dev libxi-dev libgl-dev libglu1-mesa-dev libsdl2-dev - - - name: Install CMake & Ninja - uses: lukka/get-cmake@latest - with: - cmakeVersion: 3.29.2 - - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: sccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - variant: sccache - key: ${{ github.job }}-${{ runner.os }} - max-size: 250M - - - name: vcpkg - uses: lukka/run-vcpkg@v11 - id: runvcpkg - with: - vcpkgJsonGlob: '**/source/vcpkg.json' - vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' - - - name: Run CMake - uses: lukka/run-cmake@v10 - with: - cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' - configurePreset: 'linux-release' - buildPreset: 'linux-release' - testPreset: 'linux-release' - - - name: Assemble Files - working-directory: ${{ github.workspace }} - run: scripts/ci/linux/assemble.sh - - - name: Upload Artifacts - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Linux - path: dist.tar - - - name: Upload Client Files - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Linux-Client - path: client.tar - - - name: Upload Server Files - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Linux-Server - path: server.tar
\ No newline at end of file diff --git a/.github/workflows/build_macos.yml b/.github/workflows/build_macos.yml deleted file mode 100644 index 1cfd12c..0000000 --- a/.github/workflows/build_macos.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: macOS - -on: - push: - branches: - - "*" - tags: - - "*" - - pull_request: - branches: - - "*" - -jobs: - build-intel: - name: OpenStarbound macOS x86_64 - runs-on: macos-13 - - steps: - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Install CMake & Ninja - uses: lukka/get-cmake@latest - with: - cmakeVersion: 3.29.0 - - - name: sccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - variant: sccache - key: ${{ github.job }}-Intel-${{ runner.os }} - max-size: 250M - - - name: vcpkg - uses: lukka/run-vcpkg@v11 - id: runvcpkg - with: - vcpkgJsonGlob: '**/source/vcpkg.json' - vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' - - - name: Run CMake - uses: lukka/run-cmake@v10 - with: - cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' - configurePreset: 'macos-release' - buildPreset: 'macos-release' - testPreset: 'macos-release' - - - name: Upload Artifacts - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-macOS-Intel - path: dist/* - - build-arm: - name: OpenStarbound macOS arm64 - runs-on: macos-14 - - steps: - - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Install CMake & Ninja - uses: lukka/get-cmake@latest - with: - cmakeVersion: 3.29.2 - - - name: sccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - variant: sccache - key: ${{ github.job }}-ARM-${{ runner.os }} - max-size: 250M - - - name: vcpkg - uses: lukka/run-vcpkg@v11 - id: runvcpkg - with: - vcpkgJsonGlob: '**/source/vcpkg.json' - vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' - - - name: Run CMake - uses: lukka/run-cmake@v10 - with: - cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' - configurePreset: 'macos-arm-release' - buildPreset: 'macos-arm-release' - testPreset: 'macos-arm-release' - - - name: Upload Artifacts - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-macOS-Silicon - path: dist/*
\ No newline at end of file diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml deleted file mode 100644 index d3ee36b..0000000 --- a/.github/workflows/build_windows.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Windows - -on: - push: - branches: - - "*" - tags: - - "*" - - pull_request: - branches: - - "*" - -jobs: - build: - name: Build OpenStarbound Windows x64 - runs-on: windows-latest - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Install CMake & Ninja - uses: lukka/get-cmake@latest - with: - cmakeVersion: 3.29.2 - - - name: sccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - variant: sccache - key: ${{ github.job }}-${{ runner.os }} - max-size: 1000M - - - uses: ilammy/msvc-dev-cmd@v1 - - - name: vcpkg - uses: lukka/run-vcpkg@v11 - id: runvcpkg - with: - vcpkgJsonGlob: '**/source/vcpkg.json' - vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' - - - name: Run CMake - uses: lukka/run-cmake@v10 - with: - cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' - configurePreset: 'windows-release' - buildPreset: 'windows-release' - testPreset: 'windows-release' - - - name: Run Post-Build Task - working-directory: ${{ github.workspace }} - run: scripts\ci\windows\post_build.bat - - - name: Assemble Files - working-directory: ${{ github.workspace }} - run: scripts\ci\windows\assemble.bat - - - name: Upload Artifacts - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Windows-All-DevOnly - path: dist/* - - - name: Upload Client - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Windows-Client - path: client_distribution/* - - - name: Upload Server - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Windows-Server - path: server_distribution/* - - - name: Create Installer - working-directory: ${{ github.workspace }} - run: | - & "C:\Program Files (x86)\Inno Setup 6\iscc.exe" /Oinstaller scripts\inno\setup.iss - - - name: Upload Installer - uses: actions/upload-artifact@v4 - with: - name: OpenStarbound-Windows-Installer - path: installer/* |