win64: Add github action creaton of win64 binary

This commit is contained in:
Denis Pauk 2023-12-24 23:31:23 +02:00
parent 1c75ef7c07
commit 45767961b0

68
.github/workflows/windows.yml vendored Normal file
View file

@ -0,0 +1,68 @@
name: Build windows application
run-name: windows
on:
push:
tags:
- "*"
jobs:
build:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- { sys: mingw64, env: x86_64 }
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
update: true
install: >-
git
make
zip
unzip
mingw-w64-${{matrix.env}}-curl
mingw-w64-${{matrix.env}}-ffmpeg
mingw-w64-${{matrix.env}}-gcc
mingw-w64-${{matrix.env}}-make
mingw-w64-${{matrix.env}}-openal
mingw-w64-${{matrix.env}}-SDL2
mingw-w64-${{matrix.env}}-vulkan-headers
mingw-w64-${{matrix.env}}-wget
- name: Check out repository code
uses: actions/checkout@v4
- name: Build Release code
shell: msys2 {0}
run: |
make
- name: Create release package
shell: msys2 {0}
run: |
# copy docs
cp -rv stuff/mapfixes/* LICENSE README.md doc release/
# static ffmpeg
wget -c https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2023-11-30-12-55/ffmpeg-n6.0.1-win64-lgpl-shared-6.0.zip
unzip -o ffmpeg-n6.0.1-win64-lgpl-shared-6.0.zip
cp ffmpeg-n6.0.1-win64-lgpl-shared-6.0/bin/*.dll release/
# static SDL2
wget -c https://github.com/libsdl-org/SDL/releases/download/release-2.28.5/SDL2-2.28.5-win32-x64.zip
unzip -o SDL2-2.28.5-win32-x64.zip
cp SDL2.dll release/
# static openal
wget -c https://www.openal-soft.org/openal-binaries/openal-soft-1.23.1-bin.zip
unzip -o openal-soft-1.23.1-bin.zip
cp openal-soft-1.23.1-bin/bin/Win64/soft_oal.dll release/OpenAL32.dll
# static curl
wget -c https://curl.se/windows/dl-8.5.0_3/curl-8.5.0_3-win64-mingw.zip
unzip -o curl-8.5.0_3-win64-mingw.zip
cp curl-8.5.0_3-win64-mingw/bin/libcurl-x64.dll release/curl.dll
# create archive
mkdir yquake2remaster-${{matrix.env}}-${{github.ref_name}}
cp -rv release/* yquake2remaster-${{matrix.env}}-${{github.ref_name}}
zip -9r yquake2remaster-${{matrix.env}}-${{github.ref_name}}.zip yquake2remaster-${{matrix.env}}-${{github.ref_name}}
- name: Upload Release Asset
uses: softprops/action-gh-release@v1
with:
files: |
yquake2remaster-${{matrix.env}}-${{github.ref_name}}.zip