summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2024-12-09 10:23:06 -0600
committerKiritoDv <kiritodev01@gmail.com>2024-12-09 10:23:06 -0600
commitb6d66def62999558a7cbeb5b36cb5710d4e4b2bd (patch)
tree996c33d8063639b124395220d86a75175c7af9d2 /.github/workflows
parentc3a8223976a8101e3496b7955861756af27bdc60 (diff)
Reworked CI/CD and splitted into assets and generate otr
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/linux.yml9
-rw-r--r--.github/workflows/mac.yml9
-rw-r--r--.github/workflows/main.yml127
-rw-r--r--.github/workflows/windows.yml9
4 files changed, 139 insertions, 15 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index c277c802..bfa5e97c 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -1,10 +1,8 @@
-name: Linux Compile
+name: Linux Validation
on:
- push:
- branches: [ "*" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "*" ]
jobs:
build:
@@ -47,4 +45,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: starship-linux-x64
- path: starship-release \ No newline at end of file
+ path: starship-release
+ retention-days: 1 \ No newline at end of file
diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml
index e6c1a833..2cc8c768 100644
--- a/.github/workflows/mac.yml
+++ b/.github/workflows/mac.yml
@@ -1,10 +1,8 @@
-name: Macos Compile
+name: MacOS Validation
on:
- push:
- branches: [ "*" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "*" ]
jobs:
build:
@@ -27,4 +25,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: starship-mac-x64
- path: starship-release \ No newline at end of file
+ path: starship-release
+ retention-days: 1 \ No newline at end of file
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 00000000..64a1546d
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,127 @@
+name: GenerateBuilds
+
+on:
+ push:
+ pull_request:
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ generate-port-otr:
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: true
+ - name: ccache
+ uses: hendrikmuhs/ccache-action@v1.2.13
+ with:
+ key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
+ restore-keys: |
+ ${{ runner.os }}-otr-ccache-${{ github.ref }}
+ ${{ runner.os }}-otr-ccache-
+ - name: Cache build folders
+ uses: actions/cache@v4
+ with:
+ key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }}
+ restore-keys: |
+ ${{ runner.os }}-otr-build-${{ github.ref }}
+ ${{ runner.os }}-otr-build-
+ path: |
+ build-cmake
+ SDL2-2.28.5
+ tinyxml2-10.0.0
+ - name: Generate starship.otr
+ run: |
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
+ cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
+ cmake --build build-cmake --config Release --target GeneratePortOTR -j3
+ - uses: actions/upload-artifact@v4
+ with:
+ name: starship.otr
+ path: starship.otr
+ retention-days: 1
+
+ build-windows:
+ runs-on: windows-2022
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ - name: Build
+ run: |
+ cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
+ cmake --build ./build/x64
+ - name: Upload build
+ uses: actions/upload-artifact@v4
+ with:
+ name: starship-windows
+ path: ./build/x64/Debug
+ retention-days: 1
+
+ build-macos:
+ runs-on: macOS-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ - name: Install dependencies
+ run: brew install sdl2 libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog
+ - name: Build
+ run: |
+ cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
+ cmake --build build-cmake -j
+ - name: Create Package
+ run: |
+ mkdir starship-release
+ mv build-cmake/Starship starship-release/
+ - name: Publish packaged artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: starship-mac-x64
+ path: starship-release
+ retention-days: 1
+
+ build-linux:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ - name: Install dependencies
+ run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev
+ - name: Install latest SDL
+ run: |
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
+ wget https://www.libsdl.org/release/SDL2-2.24.1.tar.gz
+ tar -xzf SDL2-2.24.1.tar.gz
+ cd SDL2-2.24.1
+ ./configure
+ make -j 10
+ sudo make install
+ - name: Install latest tinyxml2
+ run: |
+ export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
+ wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
+ tar -xzf 10.0.0.tar.gz
+ cd tinyxml2-10.0.0
+ mkdir build
+ cd build
+ cmake ..
+ make
+ sudo make install
+ - name: Build
+ run: |
+ cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
+ cmake --build build-cmake -j
+ - name: Create Package
+ run: |
+ mkdir starship-release
+ mv build-cmake/Starship starship-release/
+ - name: Publish packaged artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: starship-linux-x64
+ path: starship-release \ No newline at end of file
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index d339fb27..842e3435 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -1,10 +1,8 @@
-name: Windows Compile
+name: Windows Validation
on:
- push:
- branches: [ "*" ]
pull_request:
- branches: [ "master" ]
+ branches: [ "*" ]
jobs:
build:
@@ -21,4 +19,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: starship-windows
- path: ./build/x64/Debug \ No newline at end of file
+ path: ./build/x64/Debug
+ retention-days: 1 \ No newline at end of file