Skip to content

Commit

Permalink
switch to vcpkg+cmake, add debian build to workflows
Browse files Browse the repository at this point in the history
using lionkor's template (MIT licensed)

This is a combination of 64 commits.
  • Loading branch information
lionkor committed Dec 5, 2023
1 parent 103d2dc commit a6eb2f7
Show file tree
Hide file tree
Showing 54 changed files with 873 additions and 749 deletions.
78 changes: 0 additions & 78 deletions .github/workflows/cmake-linux.yml

This file was deleted.

58 changes: 0 additions & 58 deletions .github/workflows/cmake-windows.yml

This file was deleted.

150 changes: 150 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: Linux

on: [push]

env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"

jobs:
debian-11-build:
runs-on: ubuntu-latest
container:
image: debian:11
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 || '');
- 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/debian-11/1.5-git-safe.sh

- name: Install Dependencies
run: bash ./scripts/debian-11/1-install-deps.sh

- name: Create Build Environment
run: bash ./scripts/debian-11/2-configure.sh '-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake'

- name: Build Server
run: bash ./scripts/debian-11/3-build.sh

- name: Archive server artifact
uses: actions/upload-artifact@v2
with:
name: BeamMP-Server-debian
path: ./bin/BeamMP-Server

- name: Build Tests
run: bash ./scripts/debian-11/3-build-tests.sh

- name: Archive server tests artifact
uses: actions/upload-artifact@v2
with:
name: BeamMP-Server-debian-tests
path: ./bin/BeamMP-Server-tests

ubuntu-22-04-build:
runs-on: ubuntu-latest
container:
image: ubuntu:22.04
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 || '');
- 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/ubuntu-22.04/1.5-git-safe.sh

- name: Install Dependencies
run: bash ./scripts/ubuntu-22.04/1-install-deps.sh

- name: Setup vcpkg
uses: lukka/run-vcpkg@v11
with:
runVcpkgInstall: true

- name: Create Build Environment
run: bash ./scripts/ubuntu-22.04/2-configure.sh '-DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake'

- name: Build Server
run: bash ./scripts/ubuntu-22.04/3-build.sh

- name: Archive server artifact
uses: actions/upload-artifact@v2
with:
name: BeamMP-Server-ubuntu
path: ./bin/BeamMP-Server

- name: Build Tests
run: bash ./scripts/ubuntu-22.04/3-build-tests.sh

- name: Archive server tests artifact
uses: actions/upload-artifact@v2
with:
name: BeamMP-Server-ubuntu-tests
path: ./bin/BeamMP-Server-tests

run-debian-11-tests:
needs: debian-11-build
runs-on: ubuntu-latest
container:
image: debian:11
steps:
- uses: actions/download-artifact@master
with:
name: BeamMP-Server-debian-tests

- name: Install Runtime Dependencies
run: |
apt-get update -y
apt-get install -y liblua5.3-0
- name: Test
run: |
chmod +x ./BeamMP-Server-tests
./BeamMP-Server-tests
run-ubuntu-22-04-tests:
needs: ubuntu-22-04-build
runs-on: ubuntu-latest
container:
image: ubuntu:22.04
steps:
- uses: actions/download-artifact@master
with:
name: BeamMP-Server-ubuntu-tests

- name: Install Runtime Dependencies
run: |
apt-get update -y
apt-get install -y liblua5.3-0
- name: Test
run: |
chmod +x ./BeamMP-Server-tests
./BeamMP-Server-tests
Loading

0 comments on commit a6eb2f7

Please sign in to comment.