Update #58
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: Action Build System | |
on: [push] | |
env: | |
CONTAINER: ubuntu:18.04 | |
jobs: | |
linux: | |
name: Linux Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Start Docker Container | |
run: | | |
docker pull $CONTAINER | |
docker run --name build-container -d -v ${{github.workspace}}:/desktop $CONTAINER tail -f /dev/null | |
- name: Install Development Tools Packages | |
env: | |
SCRIPT: | | |
# Add i386 architecture | |
dpkg --add-architecture i386 | |
# Update repository | |
apt-get update > /dev/null | |
# Install build dependencies | |
apt-get install -qq -y wget unzip build-essential gcc-4.8-multilib g++-4.8-multilib libgcc1:i386 libcurl4-openssl-dev:i386 zlib1g-dev:i386 libssl-dev:i386 > /dev/null | |
# Update alternatives | |
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 | |
run: docker exec build-container bash -c "$SCRIPT" | |
- name: Execute Build | |
env: | |
SCRIPT: | | |
# Open makefile directory | |
cd /desktop/LogApi | |
# Make Release Directory | |
mkdir -p Release | |
# Make linux (Without post build script) | |
make | |
# Make dlls path | |
mkdir -p ../cstrike/addons/logapi/dlls | |
# Copy release file | |
cp ./Release/logapi_mm.so ../cstrike/addons/logapi/dlls | |
run: docker exec build-container bash -c "$SCRIPT" | |
- name: Deploy artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux32 | |
path: ${{github.workspace}}/cstrike | |
windows: | |
name: Windows Build | |
runs-on: windows-latest | |
env: | |
SOLUTION_FILE_PATH: . | |
BUILD_CONFIGURATION: Release | |
BUILD_PROJECT: LogApi | |
steps: | |
- name: Setup Checkout | |
uses: actions/checkout@v4 | |
- name: Add MSBuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: Run Build | |
working-directory: ${{github.workspace}} | |
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} | |
- name: Move release file to publish | |
working-directory: ${{github.workspace}} | |
run: | | |
# Make publish directory | |
mkdir publish\addons\logapi\dlls | |
# Move cstrike files to publish | |
copy ${{env.SOLUTION_FILE_PATH}}\cstrike\* publish -Recurse -Force | |
# Move released dll to publish | |
copy ${{env.BUILD_CONFIGURATION}}\*.dll publish\addons\logapi\dlls -Recurse -Force | |
- name: Deploy artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win32 | |
path: publish/* |