Test XP new #832
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: C/C++ CI | |
on: | |
- push | |
- pull_request | |
jobs: | |
get_time_build: | |
name: TAG NAME | |
runs-on: ubuntu-latest | |
outputs: | |
release_tag: ${{ steps.tag.outputs.release_tag }} | |
steps: | |
- name: Generate nightly release tag | |
id: tag | |
run: > | |
echo "release_tag=NightBuild_$(date +"%Y.%m.%d_%H-%M")" >> $GITHUB_OUTPUT | |
linux_build: | |
name: Linux | |
needs: get_time_build | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
outputs: | |
release_tag: ${{ steps.tag.outputs.release_tag }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Setup cmake | |
uses: jwlawson/actions-setup-cmake@v1 | |
with: | |
cmake-version: latest | |
- name: Download and install dependencies | |
run: > | |
sudo apt update | |
sudo apt install libxrandr-dev libxkbcommon-dev libxinerama-dev libxcursor-dev libxi-dev libglfw3-dev libglew-dev libxxf86vm-dev libfmt-dev --allow-unauthenticated --fix-missing | |
- name: Build release | |
run: | | |
mkdir build; cd build | |
cmake .. -DCMAKE_BUILD_TYPE=RELEASE | |
make | |
- name: Create Linux release archive | |
run: | | |
mkdir -p build/linux_release | |
cp build/bspguy build/linux_release/ | |
cp -r resources/. build/linux_release/ | |
cd build && zip -r newbspguy_ubuntu_release.zip linux_release/ | |
- name: Publish nightly binaries for linux | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ needs.get_time_build.outputs.release_tag }} | |
files: | | |
build/newbspguy_ubuntu_release.zip | |
window_build: | |
name: Windows | |
needs: get_time_build | |
runs-on: windows-latest | |
env: | |
solution: vs-project/bspguy.sln | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Set up Visual Studio shell | |
uses: egor-tensin/vs-shell@v2 | |
- name: Build release | |
run: | | |
msbuild ${{ env.solution }} -m /p:Configuration=Release /p:Platform=x64 | |
- name: Create Windows release archive | |
run: > | |
mkdir -p build\win64_release | |
cp vs-project\Release\bspguy.exe build\win64_release\ | |
xcopy /I /E /Y "resources\*" "build\win64_release\" | |
Compress-Archive -Path "build\win64_release\*" -DestinationPath "build\newbspguy_win7_x64_release.zip" | |
- name: Publish nightly release binaries for windows 7+ | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ needs.get_time_build.outputs.release_tag }} | |
files: | | |
build/newbspguy_win7_x64_release.zip | |
- name: Build Debug | |
run: | | |
msbuild ${{ env.solution }} -m /p:Configuration=DebugGithub /p:Platform=x64 | |
- name: Create Windows debug archive | |
run: > | |
mkdir -p build\win64_debug | |
cp vs-project\Release\bspguy_debug.exe build\win64_debug\ | |
xcopy /I /E /Y "resources\*" "build\win64_debug\" | |
Compress-Archive -Path "build\win64_debug\*" -DestinationPath "build\newbspguy_win7_x64_dbg.zip" | |
- name: Publish nightly debug binaries for windows 7+ | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ needs.get_time_build.outputs.release_tag }} | |
files: | | |
build/newbspguy_win7_x64_dbg.zip | |
window_build_gcc: | |
name: Windows GCC | |
needs: get_time_build | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
env: | |
MINGW64_PREFIX: "C:/msys64/mingw64" | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup MinGW GCC | |
uses: msys2/setup-msys2@v2 | |
with: | |
release: false | |
msystem: mingw64 | |
path-type: inherit | |
update: true | |
cache: false | |
location: C:/ | |
pacboy: cc:p cmake:p ninja:p lld:p | |
install: >- | |
mingw-w64-x86_64-binutils | |
- name: Build app for release | |
run: | | |
mkdir build | |
cd build | |
cmake .. -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" | |
mingw32-make | |
- name: Create Windows release archive | |
shell: pwsh | |
run: > | |
mkdir -p build\win64_gcc_release | |
cp build\bspguy.exe build\win64_gcc_release\ | |
cp ${{env.MINGW64_PREFIX}}\bin\libgcc_s_seh-1.dll build\win64_gcc_release\ | |
cp ${{env.MINGW64_PREFIX}}\bin\libwinpthread-1.dll build\win64_gcc_release\ | |
cp ${{env.MINGW64_PREFIX}}\bin\libstdc++-6.dll build\win64_gcc_release\ | |
cp glew\bin\Release\x64\glew32.dll build\win64_gcc_release\ | |
xcopy /I /E /Y "resources\*" "build\win64_gcc_release\" | |
Compress-Archive -Path "build\win64_gcc_release\*" -DestinationPath "build\newbspguy_win7_x64_gcc_release.zip" | |
- name: Publish nightly release binaries for windows 7+ GCC | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ needs.get_time_build.outputs.release_tag }} | |
files: | | |
build/newbspguy_win7_x64_gcc_release.zip | |
window_xp_build: | |
name: Windows XP | |
needs: get_time_build | |
runs-on: windows-2019 | |
env: | |
solution: vs-project/bspguy.sln | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Set up Visual Studio shell | |
uses: egor-tensin/vs-shell@v2 | |
with: | |
arch: Win32 | |
- name: Build XP | |
run: | | |
msbuild ${{ env.solution }} -m /p:Configuration=ReleaseXPx86 /p:Platform=Win32 | |
- name: Create Windows release WinXP archive | |
run: > | |
mkdir -p build\win32_release | |
cp vs-project\Release\bspguy.exe build\win32_release\ | |
xcopy /I /E /Y "resources\*" "build\win32_release\" | |
Compress-Archive -Path "build\win32_release\*" -DestinationPath "build\newbspguy_winxp_x86_release.zip" |