Add C++11 build test to CI workflow #2271
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: 64-bit MinGW builds | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
MinGW64_CI_build: | |
permissions: | |
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows | |
contents: write # for actions/checkout to fetch code and softprops/action-gh-release | |
if: github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- name: Cancel previous runs | |
uses: styfle/cancel-workflow-action@0.12.0 | |
with: | |
access_token: ${{ github.token }} | |
- uses: actions/checkout@v4 | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW64 | |
update: true | |
install: git mingw-w64-x86_64-toolchain mingw-w64-x86_64-libslirp mingw-w64-x86_64-libtool mingw-w64-x86_64-nasm autoconf automake | |
- name: Update build info | |
shell: bash | |
run: | | |
echo "timestamp=`git show -s --format=%at | xargs -I# date -d @# +%Y%m%d%H%M%S`" >> $GITHUB_ENV | |
export shortsha=`echo ${GITHUB_SHA} | cut -c1-7` | |
export copyrightyear=`git show -s --format=%at | xargs -I# date -d @# +'%Y'` | |
export updatestr=`git show -s --format=%at | xargs -I# date -d @# +'%b %d, %Y %I:%M:%S%P'` | |
echo '/* auto generated */' > include/build_timestamp.h | |
echo "#define UPDATED_STR \"${updatestr}\"" >> include/build_timestamp.h | |
echo "#define GIT_COMMIT_HASH \"${shortsha}\"" >> include/build_timestamp.h | |
echo "#define COPYRIGHT_END_YEAR \"${copyrightyear}\"" >> include/build_timestamp.h | |
cat include/build_timestamp.h | |
- name: Build MinGW64 SDL1 | |
run: | | |
top=`pwd` | |
ln -s $top/build-scripts/mingw/lowend-bin/make.exe /usr/bin/make.exe | |
./build-mingw | |
strip -s $top/src/dosbox-x.exe | |
- name: Package MinGW64 SDL1 | |
run: | | |
top=`pwd` | |
mkdir -p $top/package/mingw-build/mingw/drivez | |
mkdir -p $top/package/mingw-build/mingw/scripts | |
mkdir -p $top/package/mingw-build/mingw/shaders | |
mkdir -p $top/package/mingw-build/mingw/glshaders | |
mkdir -p $top/package/mingw-build/mingw/languages | |
sed -e 's/^\(output[ ]*=[ ]*\)default$/\1ttf/;s/^\(windowposition[ ]*=\)[ ]*-/\1 /;s/^\(file access tries[ ]*=[ ]*\)0$/\13/;s/^\(printoutput[ ]*=[ ]*\)png$/\1printer/;s/\(drive data rate limit[ ]*=[ ]*\)-1$/\10/' $top/dosbox-x.reference.conf>$top/package/mingw-build/mingw/dosbox-x.conf | |
cp $top/src/dosbox-x.exe $top/package/mingw-build/mingw/dosbox-x.exe | |
cp $top/CHANGELOG $top/package/mingw-build/mingw/CHANGELOG.txt | |
cp $top/dosbox-x.reference.conf $top/package/mingw-build/mingw/dosbox-x.reference.conf | |
cp $top/dosbox-x.reference.full.conf $top/package/mingw-build/mingw/dosbox-x.reference.full.conf | |
cp $top/contrib/windows/installer/readme.txt $top/package/mingw-build/mingw/README.txt | |
cp $top/contrib/windows/installer/inpoutx64.dll $top/package/mingw-build/mingw/inpoutx64.dll | |
cp $top/contrib/fonts/FREECG98.BMP $top/package/mingw-build/mingw/FREECG98.BMP | |
cp $top/contrib/fonts/wqy_1?pt.bdf $top/package/mingw-build/mingw/ | |
cp $top/contrib/fonts/Nouveau_IBM.ttf $top/package/mingw-build/mingw/Nouveau_IBM.ttf | |
cp $top/contrib/fonts/SarasaGothicFixed.ttf $top/package/mingw-build/mingw/SarasaGothicFixed.ttf | |
cp $top/contrib/windows/installer/drivez_readme.txt $top/package/mingw-build/mingw/drivez/readme.txt | |
cp $top/contrib/windows/installer/windows_explorer_context_menu*.bat $top/package/mingw-build/mingw/scripts/ | |
cp $top/contrib/windows/shaders/* $top/package/mingw-build/mingw/shaders/ | |
cp $top/contrib/glshaders/* $top/package/mingw-build/mingw/glshaders/ | |
cp $top/contrib/translations/*/*.lng $top/package/mingw-build/mingw/languages/ | |
- name: Build MinGW64 SDL2 | |
run: | | |
top=`pwd` | |
./build-mingw-sdl2 | |
strip -s $top/src/dosbox-x.exe | |
- name: Package MinGW64 SDL2 | |
run: | | |
top=`pwd` | |
mkdir -p $top/package/mingw-build/mingw-sdl2/drivez | |
mkdir -p $top/package/mingw-build/mingw-sdl2/scripts | |
mkdir -p $top/package/mingw-build/mingw-sdl2/shaders | |
mkdir -p $top/package/mingw-build/mingw-sdl2/glshaders | |
mkdir -p $top/package/mingw-build/mingw-sdl2/languages | |
sed -e 's/^\(output[ ]*=[ ]*\)default$/\1ttf/;s/^\(windowposition[ ]*=\)[ ]*-/\1 /;s/^\(file access tries[ ]*=[ ]*\)0$/\13/;s/^\(printoutput[ ]*=[ ]*\)png$/\1printer/;s/\(drive data rate limit[ ]*=[ ]*\)-1$/\10/' $top/dosbox-x.reference.conf>$top/package/mingw-build/mingw-sdl2/dosbox-x.conf | |
cp $top/src/dosbox-x.exe $top/package/mingw-build/mingw-sdl2/dosbox-x.exe | |
cp $top/CHANGELOG $top/package/mingw-build/mingw-sdl2/CHANGELOG.txt | |
cp $top/dosbox-x.reference.conf $top/package/mingw-build/mingw-sdl2/dosbox-x.reference.conf | |
cp $top/dosbox-x.reference.full.conf $top/package/mingw-build/mingw-sdl2/dosbox-x.reference.full.conf | |
cp $top/contrib/windows/installer/readme.txt $top/package/mingw-build/mingw-sdl2/README.txt | |
cp $top/contrib/windows/installer/inpoutx64.dll $top/package/mingw-build/mingw-sdl2/inpoutx64.dll | |
cp $top/contrib/fonts/FREECG98.BMP $top/package/mingw-build/mingw-sdl2/FREECG98.BMP | |
cp $top/contrib/fonts/wqy_1?pt.bdf $top/package/mingw-build/mingw-sdl2/ | |
cp $top/contrib/fonts/Nouveau_IBM.ttf $top/package/mingw-build/mingw-sdl2/Nouveau_IBM.ttf | |
cp $top/contrib/fonts/SarasaGothicFixed.ttf $top/package/mingw-build/mingw-sdl2/SarasaGothicFixed.ttf | |
cp $top/contrib/windows/installer/drivez_readme.txt $top/package/mingw-build/mingw-sdl2/drivez/readme.txt | |
cp $top/contrib/windows/installer/windows_explorer_context_menu*.bat $top/package/mingw-build/mingw-sdl2/scripts/ | |
cp $top/contrib/windows/shaders/* $top/package/mingw-build/mingw-sdl2/shaders/ | |
cp $top/contrib/glshaders/* $top/package/mingw-build/mingw-sdl2/glshaders/ | |
cp $top/contrib/translations/*/*.lng $top/package/mingw-build/mingw-sdl2/languages/ | |
cp $top/COPYING $top/package/COPYING | |
cd $top/package/ | |
$top/vs/tool/zip.exe -r -9 $top/dosbox-x-mingw-win64-${{ env.timestamp }}.zip * | |
cd $top | |
- name: Upload preview package | |
uses: actions/upload-artifact@v3.1.3 | |
with: | |
name: dosbox-x-mingw-win64-${{ env.timestamp }} | |
path: ${{ github.workspace }}/package/ | |
- name: Upload release package | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: dosbox-x-mingw-win64-${{ env.timestamp }}.zip |