Use hard disconnect instead of ClientKick in timeout (#320) #13
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Create & Build | |
on: | |
push: | |
# Sequence of patterns matched against refs/tags | |
tags: | |
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 | |
env: | |
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" | |
CMAKE_BUILD_TYPE: "Release" | |
DEBIAN_FRONTEND: "noninteractive" | |
jobs: | |
create-release: | |
runs-on: ubuntu-latest | |
name: Create Release | |
outputs: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
steps: | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: ${{ github.ref }} | |
draft: false | |
prerelease: true | |
body: | | |
Files included in this release are: | |
- `BeamMP-Server.$DISTRO.$DISTROVERSION.$ARCH` for linux builds, for example `BeamMP-Server.debian.11.x86_64` for the Debian 11 build for x86_64. All require `liblua5.3` to be installed. | |
- `BeamMP-Server.exe` for the Windows build (x86_64). You need to install the [Visual C++ Redistributables](https://aka.ms/vs/17/release/vc_redist.x64.exe) to run this. | |
x86_64-matrix: | |
runs-on: ubuntu-22.04 | |
needs: create-release | |
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/[email protected] | |
- 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 Server | |
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build.sh | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
asset_name: BeamMP-Server.${{ matrix.distro }}.${{ matrix.version }}.x86_64 | |
upload_url: ${{ needs.create-release.outputs.upload_url }} | |
asset_path: ./bin/BeamMP-Server | |
asset_content_type: application/x-elf | |
- name: Upload Debug Info | |
id: upload-debug-info | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
asset_name: debuginfo.${{ matrix.distro }}.${{ matrix.version }}.x86_64 | |
upload_url: ${{ needs.create-release.outputs.upload_url }} | |
asset_path: ./bin/BeamMP-Server.debug | |
asset_content_type: application/x-elf | |
arm64-matrix: | |
runs-on: [Linux, ARM64] | |
needs: create-release | |
strategy: | |
matrix: | |
include: | |
- distro: debian | |
version: 11 | |
- distro: debian | |
version: 12 | |
- distro: ubuntu | |
version: 22.04 | |
- distro: ubuntu | |
version: 20.04 | |
env: | |
VCPKG_DEFAULT_TRIPLET: "arm64-linux" | |
VCPKG_FORCE_SYSTEM_BINARIES: 1 | |
container: | |
image: ${{ matrix.distro }}:${{ matrix.version }} | |
steps: | |
- name: get-cmake | |
uses: lukka/[email protected] | |
- 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 Server | |
run: bash ./scripts/${{ matrix.distro }}-${{ matrix.version }}/3-build.sh | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
asset_name: BeamMP-Server.${{ matrix.distro }}.${{ matrix.version }}.arm64 | |
upload_url: ${{ needs.create-release.outputs.upload_url }} | |
asset_path: ./bin/BeamMP-Server | |
asset_content_type: application/x-elf | |
- name: Upload Debug Info | |
id: upload-debug-info | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
asset_name: debuginfo.${{ matrix.distro }}.${{ matrix.version }}.arm64 | |
upload_url: ${{ needs.create-release.outputs.upload_url }} | |
asset_path: ./bin/BeamMP-Server.debug | |
asset_content_type: application/x-elf | |
upload-release-files-windows: | |
name: Build and upload Windows Release Files | |
runs-on: windows-latest | |
needs: create-release | |
env: | |
VCPKG_DEFAULT_TRIPLET: x64-windows-static | |
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: Create Build Environment | |
shell: bash | |
run: ./scripts/windows/1-configure.sh | |
- name: Build Server | |
shell: bash | |
run: bash ./scripts/windows/2-build.sh | |
- name: Upload Release Asset | |
id: upload-release-asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.create-release.outputs.upload_url }} | |
asset_path: ./bin/Release/BeamMP-Server.exe | |
asset_name: BeamMP-Server.exe | |
asset_content_type: application/vnd.microsoft.portable-executable |