mirror of
https://github.com/BeamMP/BeamMP-Launcher.git
synced 2025-07-04 00:47:23 +00:00
add ci/cd from server
This commit is contained in:
parent
0d70012009
commit
2d0cbc4500
152
.github/workflows/linux.yml
vendored
Normal file
152
.github/workflows/linux.yml
vendored
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
name: Linux
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
|
||||||
|
env:
|
||||||
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
||||||
|
VCPKG_FORCE_SYSTEM_BINARIES: 1
|
||||||
|
CMAKE_BUILD_TYPE: "Release"
|
||||||
|
DEBIAN_FRONTEND: "noninteractive"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
x86_64-matrix:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- distro: debian
|
||||||
|
version: 11
|
||||||
|
- distro: debian
|
||||||
|
version: 12
|
||||||
|
- distro: ubuntu
|
||||||
|
version: 22.04
|
||||||
|
- distro: ubuntu
|
||||||
|
version: 20.04
|
||||||
|
container:
|
||||||
|
image: ${{ matrix.distro }}:${{ matrix.version }}
|
||||||
|
steps:
|
||||||
|
- name: get-cmake
|
||||||
|
uses: lukka/get-cmake@v3.28.1
|
||||||
|
|
||||||
|
- name: Export GitHub Actions cache environment variables
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||||
|
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||||
|
|
||||||
|
- name: Install git
|
||||||
|
run: |
|
||||||
|
apt-get update -y
|
||||||
|
apt-get install -y git
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'recursive'
|
||||||
|
|
||||||
|
- name: Git config safe directory
|
||||||
|
shell: bash
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1.5-git-safe.sh
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1-install-deps.sh
|
||||||
|
|
||||||
|
- name: Create Build Environment
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/2-configure.sh '-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake'
|
||||||
|
|
||||||
|
- name: Build Launcher
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build.sh
|
||||||
|
|
||||||
|
- name: Archive launcher artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: BeamMP-Launcher.${{ matrix.distro }}.${{ matrix.version }}.x86_64
|
||||||
|
path: ./bin/BeamMP-Launcher
|
||||||
|
|
||||||
|
- name: Archive launcher debug info artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: debuginfo.${{ matrix.distro }}.${{ matrix.version }}.x86_64
|
||||||
|
path: ./bin/BeamMP-Launcher.debug
|
||||||
|
|
||||||
|
- name: Build Tests
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build-tests.sh
|
||||||
|
|
||||||
|
- name: Install Runtime Dependencies
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/4-install-runtime-deps.sh
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: ./bin/BeamMP-Launcher-tests
|
||||||
|
|
||||||
|
arm64-matrix:
|
||||||
|
runs-on: [Linux, ARM64]
|
||||||
|
env:
|
||||||
|
VCPKG_DEFAULT_TRIPLET: "arm64-linux"
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- distro: debian
|
||||||
|
version: 11
|
||||||
|
- distro: debian
|
||||||
|
version: 12
|
||||||
|
- distro: ubuntu
|
||||||
|
version: 22.04
|
||||||
|
- distro: ubuntu
|
||||||
|
version: 20.04
|
||||||
|
container:
|
||||||
|
image: ${{ matrix.distro }}:${{ matrix.version }}
|
||||||
|
steps:
|
||||||
|
- name: get-cmake
|
||||||
|
uses: lukka/get-cmake@v3.28.1
|
||||||
|
|
||||||
|
- name: Export GitHub Actions cache environment variables
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||||
|
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||||
|
|
||||||
|
- name: Install git
|
||||||
|
run: |
|
||||||
|
apt-get update -y
|
||||||
|
apt-get install -y git
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'recursive'
|
||||||
|
|
||||||
|
- name: Git config safe directory
|
||||||
|
shell: bash
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1.5-git-safe.sh
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/1-install-deps.sh
|
||||||
|
|
||||||
|
- name: Create Build Environment
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/2-configure.sh '-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake'
|
||||||
|
|
||||||
|
- name: Build Launcher
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build.sh
|
||||||
|
|
||||||
|
- name: Archive launcher artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: BeamMP-Launcher.${{ matrix.distro }}.${{ matrix.version }}.arm64
|
||||||
|
path: ./bin/BeamMP-Launcher
|
||||||
|
|
||||||
|
- name: Archive launcher debug info artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: debuginfo.${{ matrix.distro }}.${{ matrix.version }}.arm64
|
||||||
|
path: ./bin/BeamMP-Launcher.debug
|
||||||
|
|
||||||
|
- name: Build Tests
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build-tests.sh
|
||||||
|
|
||||||
|
- name: Install Runtime Dependencies
|
||||||
|
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/4-install-runtime-deps.sh
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: ./bin/BeamMP-Launcher-tests
|
||||||
|
|
43
.github/workflows/windows.yml
vendored
Normal file
43
.github/workflows/windows.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
name: Windows
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
env:
|
||||||
|
VCPKG_DEFAULT_TRIPLET: x64-windows-static
|
||||||
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
||||||
|
CMAKE_BUILD_TYPE: "Release"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
windows-build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Export GitHub Actions cache environment variables
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
|
||||||
|
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
|
||||||
|
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: 'recursive'
|
||||||
|
|
||||||
|
- name: Setup vcpkg
|
||||||
|
uses: lukka/run-vcpkg@v11
|
||||||
|
with:
|
||||||
|
runVcpkgInstall: true
|
||||||
|
|
||||||
|
- name: Create Build Environment
|
||||||
|
shell: bash
|
||||||
|
run: ./scripts/windows/1-configure.sh
|
||||||
|
|
||||||
|
- name: Build Launcher
|
||||||
|
shell: bash
|
||||||
|
run: bash ./scripts/windows/2-build.sh
|
||||||
|
|
||||||
|
- name: Archive launcher artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: BeamMP-Launcher-windows
|
||||||
|
path: ./bin/Release/BeamMP-Launcher.exe
|
||||||
|
|
7
scripts/debian-11/1-install-deps.sh
Executable file
7
scripts/debian-11/1-install-deps.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl zip unzip tar cmake make git g++ ninja-build
|
7
scripts/debian-11/1.5-git-safe.sh
Normal file
7
scripts/debian-11/1.5-git-safe.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
git config --global --add safe.directory $(pwd)
|
||||||
|
git config --global --add safe.directory $(pwd)/vcpkg
|
||||||
|
git config --global --add safe.directory $(pwd)/deps/commandline
|
7
scripts/debian-11/2-configure.sh
Executable file
7
scripts/debian-11/2-configure.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
./vcpkg/bootstrap-vcpkg.sh
|
||||||
|
|
||||||
|
cmake . -B bin $1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -g -Wl,-z,norelro -Wl,--hash-style=gnu -Wl,--build-id=none -Wl,-z,noseparate-code -ffunction-sections -fdata-sections -Wl,--gc-sections" -DBeamMP-Launcher_ENABLE_LTO=ON
|
5
scripts/debian-11/3-build-tests.sh
Executable file
5
scripts/debian-11/3-build-tests.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher-tests
|
10
scripts/debian-11/3-build.sh
Executable file
10
scripts/debian-11/3-build.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher
|
||||||
|
|
||||||
|
objcopy --only-keep-debug bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
objcopy --add-gnu-debuglink bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
|
||||||
|
strip -s bin/BeamMP-Launcher
|
8
scripts/debian-11/4-install-runtime-deps.sh
Executable file
8
scripts/debian-11/4-install-runtime-deps.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl
|
||||||
|
|
7
scripts/debian-12/1-install-deps.sh
Executable file
7
scripts/debian-12/1-install-deps.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl zip unzip tar cmake make git g++ ninja-build
|
7
scripts/debian-12/1.5-git-safe.sh
Normal file
7
scripts/debian-12/1.5-git-safe.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
git config --global --add safe.directory $(pwd)
|
||||||
|
git config --global --add safe.directory $(pwd)/vcpkg
|
||||||
|
git config --global --add safe.directory $(pwd)/deps/commandline
|
7
scripts/debian-12/2-configure.sh
Executable file
7
scripts/debian-12/2-configure.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
./vcpkg/bootstrap-vcpkg.sh
|
||||||
|
|
||||||
|
cmake . -B bin $1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -g -Wl,-z,norelro -Wl,--hash-style=gnu -Wl,--build-id=none -Wl,-z,noseparate-code -ffunction-sections -fdata-sections -Wl,--gc-sections" -DBeamMP-Launcher_ENABLE_LTO=ON
|
5
scripts/debian-12/3-build-tests.sh
Executable file
5
scripts/debian-12/3-build-tests.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher-tests
|
10
scripts/debian-12/3-build.sh
Executable file
10
scripts/debian-12/3-build.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher
|
||||||
|
|
||||||
|
objcopy --only-keep-debug bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
objcopy --add-gnu-debuglink bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
|
||||||
|
strip -s bin/BeamMP-Launcher
|
8
scripts/debian-12/4-install-runtime-deps.sh
Executable file
8
scripts/debian-12/4-install-runtime-deps.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl
|
||||||
|
|
7
scripts/ubuntu-20.04/1-install-deps.sh
Executable file
7
scripts/ubuntu-20.04/1-install-deps.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl zip unzip tar cmake make git g++ ninja-build
|
7
scripts/ubuntu-20.04/1.5-git-safe.sh
Normal file
7
scripts/ubuntu-20.04/1.5-git-safe.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
git config --global --add safe.directory $(pwd)
|
||||||
|
git config --global --add safe.directory $(pwd)/vcpkg
|
||||||
|
git config --global --add safe.directory $(pwd)/deps/commandline
|
7
scripts/ubuntu-20.04/2-configure.sh
Executable file
7
scripts/ubuntu-20.04/2-configure.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
./vcpkg/bootstrap-vcpkg.sh
|
||||||
|
|
||||||
|
cmake . -B bin $1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -g -Wl,-z,norelro -Wl,--hash-style=gnu -Wl,--build-id=none -Wl,-z,noseparate-code -ffunction-sections -fdata-sections -Wl,--gc-sections" -DBeamMP-Launcher_ENABLE_LTO=ON
|
5
scripts/ubuntu-20.04/3-build-tests.sh
Executable file
5
scripts/ubuntu-20.04/3-build-tests.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher-tests
|
10
scripts/ubuntu-20.04/3-build.sh
Executable file
10
scripts/ubuntu-20.04/3-build.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher
|
||||||
|
|
||||||
|
objcopy --only-keep-debug bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
objcopy --add-gnu-debuglink bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
|
||||||
|
strip -s bin/BeamMP-Launcher
|
8
scripts/ubuntu-20.04/4-install-runtime-deps.sh
Executable file
8
scripts/ubuntu-20.04/4-install-runtime-deps.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl
|
||||||
|
|
7
scripts/ubuntu-22.04/1-install-deps.sh
Executable file
7
scripts/ubuntu-22.04/1-install-deps.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl zip unzip tar cmake make git g++ ninja-build
|
7
scripts/ubuntu-22.04/1.5-git-safe.sh
Normal file
7
scripts/ubuntu-22.04/1.5-git-safe.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
git config --global --add safe.directory $(pwd)
|
||||||
|
git config --global --add safe.directory $(pwd)/vcpkg
|
||||||
|
git config --global --add safe.directory $(pwd)/deps/commandline
|
7
scripts/ubuntu-22.04/2-configure.sh
Executable file
7
scripts/ubuntu-22.04/2-configure.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
./vcpkg/bootstrap-vcpkg.sh
|
||||||
|
|
||||||
|
cmake . -B bin $1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-O3 -g -Wl,-z,norelro -Wl,--hash-style=gnu -Wl,--build-id=none -Wl,-z,noseparate-code -ffunction-sections -fdata-sections -Wl,--gc-sections" -DBeamMP-Launcher_ENABLE_LTO=ON
|
5
scripts/ubuntu-22.04/3-build-tests.sh
Executable file
5
scripts/ubuntu-22.04/3-build-tests.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher-tests
|
10
scripts/ubuntu-22.04/3-build.sh
Executable file
10
scripts/ubuntu-22.04/3-build.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher
|
||||||
|
|
||||||
|
objcopy --only-keep-debug bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
objcopy --add-gnu-debuglink bin/BeamMP-Launcher bin/BeamMP-Launcher.debug
|
||||||
|
|
||||||
|
strip -s bin/BeamMP-Launcher
|
8
scripts/ubuntu-22.04/4-install-runtime-deps.sh
Executable file
8
scripts/ubuntu-22.04/4-install-runtime-deps.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
apt-get update -y
|
||||||
|
|
||||||
|
apt-get install -y curl
|
||||||
|
|
5
scripts/windows/1-configure.sh
Executable file
5
scripts/windows/1-configure.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake . -B bin $1 -DCMAKE_BUILD_TYPE=Release -DBeamMP-Launcher_ENABLE_LTO=ON -DVCPKG_TARGET_TRIPLET=x64-windows-static
|
5
scripts/windows/2-build-tests.sh
Executable file
5
scripts/windows/2-build-tests.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher-tests
|
5
scripts/windows/2-build.sh
Executable file
5
scripts/windows/2-build.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
cmake --build bin --parallel -t BeamMP-Launcher --config Release
|
Loading…
x
Reference in New Issue
Block a user