From ab84ece2f2ac3d0c49c51ee034326cdc946f50b0 Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Mon, 3 Apr 2023 01:00:39 +0300 Subject: [PATCH] add auto-build files for github --- .github/workflows/build_gnulinux.yml | 35 ++++++++++++++++++++++ .github/workflows/build_win_mingw.yml | 37 ++++++++++++++++++++++++ .github/workflows/build_win_msvc6.yml | 51 +++++++++++++++++++++++++++++++++ README.md | 4 +++ 4 files changed, 127 insertions(+) create mode 100644 .github/workflows/build_gnulinux.yml create mode 100644 .github/workflows/build_win_mingw.yml create mode 100644 .github/workflows/build_win_msvc6.yml diff --git a/.github/workflows/build_gnulinux.yml b/.github/workflows/build_gnulinux.yml new file mode 100644 index 0000000..51c3d3f --- /dev/null +++ b/.github/workflows/build_gnulinux.yml @@ -0,0 +1,35 @@ +name: GNU/Linux build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: install dependencies + run: | + sudo apt-get update + sudo apt-get install libgl-dev libx11-dev + + - name: build + run: make + + - name: package + run: | + mkdir miniglut-gnulinux64 + cp libminiglut.a miniglut-gnulinux64 + cp test miniglut-gnulinux64 + + - uses: actions/upload-artifact@v3 + with: + name: miniglut-gnulinux64 + path: miniglut-gnulinux64 + +# vi:ts=2 sts=2 sw=2 expandtab: diff --git a/.github/workflows/build_win_mingw.yml b/.github/workflows/build_win_mingw.yml new file mode 100644 index 0000000..e481a91 --- /dev/null +++ b/.github/workflows/build_win_mingw.yml @@ -0,0 +1,37 @@ +name: Windows MinGW build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + + steps: + - uses: actions/checkout@v3 + - uses: msys2/setup-msys2@v2 + with: + msystem: MINGW32 + install: mingw-w64-i686-gcc mingw-w64-i686-make + + - name: build + run: mingw32-make + + - name: package + run: | + mkdir miniglut-win32-mingw + cp libminiglut-w32.a miniglut-win32-mingw/libminiglut.a + cp test.exe miniglut-win32-mingw + + - uses: actions/upload-artifact@v3 + with: + name: miniglut-win32-mingw + path: miniglut-win32-mingw + +# vi:ts=2 sts=2 sw=2:expandtab diff --git a/.github/workflows/build_win_msvc6.yml b/.github/workflows/build_win_msvc6.yml new file mode 100644 index 0000000..e6d1c05 --- /dev/null +++ b/.github/workflows/build_win_msvc6.yml @@ -0,0 +1,51 @@ +name: Windows MSVC 6.0 build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + + - name: cache toolchain + id: cache-tc + uses: actions/cache@v3 + with: + path: | + msvc6lt + vc6varsgh.bat + key: msvc6lt-cache1 + + - name: install toolchain + if: steps.cache-tc.outputs.cache-hit != 'true' + run: | + C:\msys64\usr\bin\wget.exe -q http://mutantstargoat.com/~nuclear/msvc6.zip + 7z x msvc6.zip + C:\msys64\usr\bin\wget.exe -q http://mutantstargoat.com/~nuclear/vc6fullvarsgh.bat + + - name: build miniglut + shell: cmd + run: | + call vc6fullvarsgh.bat + msdev miniglut.dsp /MAKE "miniglut - Win32 Release" + mkdir miniglut-win32-msvc + copy Release\miniglut.lib miniglut-win32-msvc + + - name: build test + shell: cmd + run: | + call vc6fullvarsgh.bat + msdev test.dsp /MAKE "test - Win32 Release" + copy Release\test.exe miniglut-win32-msvc + + - uses: actions/upload-artifact@v3 + with: + name: miniglut-win32-msvc + path: miniglut-win32-msvc + +# vi:ts=2 sts=2 sw=2 expandtab: diff --git a/README.md b/README.md index 2ebf1c5..4e84296 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ MiniGLUT ![logo](http://nuclear.mutantstargoat.com/sw/miniglut/img/miniglut_logo_sm_alpha.png) +![GNU/Linux build status](https://github.com/jtsiomb/miniglut/actions/workflows/build_gnulinux.yml/badge.svg) +![Windows MinGW build status](https://github.com/jtsiomb/miniglut/actions/workflows/build_win_mingw.yml/badge.svg) +![Windows MSVC6 build status](https://github.com/jtsiomb/miniglut/actions/workflows/build_win_msvc6.yml/badge.svg) + MiniGLUT is a subset of GLUT (or more precisely a subset of FreeGLUT) implemented in a single C source file, without any non-essential dependencies, not even the C library. -- 1.7.10.4