general: show progres while downloading SDL zip files, ignore windows… #1763
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: General CI | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
jobs: | |
ubuntu-tcc: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
SDL2_VERSION: 2.0.14 | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install --quiet -y libsdl2-ttf-dev | |
sudo apt-get install --quiet -y libsdl2-mixer-dev libsdl2-image-dev | |
curl -L https://www.libsdl.org/release/SDL2-${SDL2_VERSION}.tar.gz -o SDL2.tar.gz | |
tar -zxvf SDL2.tar.gz | |
- name: Build SDL | |
run: | | |
cd SDL2-${SDL2_VERSION} | |
mkdir build | |
cd build | |
# --disable-wayland-shared fixes a troublesome wayland build | |
# affecting 2.0.14, 2.0.16 and 2.0.18 on Ubuntu 22.04+. | |
# See https://github.com/libsdl-org/SDL/issues/5088 for more info | |
../configure --disable-wayland-shared --prefix /tmp/sdl2-${SDL2_VERSION} | |
make | |
make install | |
- name: Install V | |
uses: vlang/setup-v@v1 | |
with: | |
check-latest: true | |
- name: Checkout SDL | |
uses: actions/checkout@v2 | |
with: | |
path: sdl | |
- name: Link local SDL folder in ~/.vmodules/sdl | |
run: | | |
cd sdl | |
mkdir -p ~/.vmodules | |
ln -s $(pwd) ~/.vmodules/sdl | |
- name: Test code formatting | |
run: | | |
cd sdl | |
v test-fmt | |
v fmt -verify . | |
- name: Build sdl shared | |
run: | | |
export CFLAGS="$(/tmp/sdl2-${SDL2_VERSION}/bin/sdl2-config --cflags --libs)" | |
v -shared -g sdl | |
- name: Run tests | |
run: v test sdl | |
- name: Build sdl examples | |
run: | | |
v shader sdl/examples/sdl_opengl_and_sokol | |
export CFLAGS="$(/tmp/sdl2-${SDL2_VERSION}/bin/sdl2-config --cflags --libs)" | |
v run sdl/examples/versions | |
v should-compile-all sdl/examples/ | |
- name: Test SDL version | |
run: | | |
export CFLAGS="$(/tmp/sdl2-${SDL2_VERSION}/bin/sdl2-config --cflags --libs)" | |
VER="$(v run sdl/examples/version)" | |
echo "${SDL2_VERSION} == $VER ?" | |
test "${SDL2_VERSION}" = "$VER" || exit 1 | |
macos: | |
runs-on: macos-12 | |
timeout-minutes: 60 | |
env: | |
SDL2_VERSION: 2.0.14 | |
steps: | |
- name: Checkout V | |
uses: actions/checkout@v2 | |
with: | |
repository: vlang/v | |
- name: Build local v | |
run: make -j4 && ./v symlink | |
- name: Install dependencies | |
run: | | |
brew install sdl2_ttf sdl2_mixer sdl2_image | |
curl -L https://www.libsdl.org/release/SDL2-${SDL2_VERSION}.tar.gz -o SDL2.tar.gz | |
tar -zxvf SDL2.tar.gz | |
- name: Build SDL | |
run: | | |
cd SDL2-${SDL2_VERSION} | |
mkdir build | |
cd build | |
../configure --prefix /tmp/sdl2-${SDL2_VERSION} | |
make | |
make install | |
- name: Checkout SDL | |
uses: actions/checkout@v2 | |
with: | |
path: sdl | |
- name: Link local SDL folder in ~/.vmodules/sdl | |
run: | | |
cd sdl | |
mkdir -p ~/.vmodules | |
ln -s $(pwd) ~/.vmodules/sdl | |
- name: Test code formatting | |
run: | | |
cd sdl | |
VJOBS=1 v test-fmt | |
VJOBS=1 v fmt -verify . | |
- name: Build sdl shared | |
run: | | |
export CFLAGS="$(/tmp/sdl2-${SDL2_VERSION}/bin/sdl2-config --cflags --libs)" | |
v -shared -g sdl | |
- name: Run tests | |
run: v test sdl | |
- name: Build sdl examples | |
run: | | |
v shader sdl/examples/sdl_opengl_and_sokol | |
export CFLAGS="$(/tmp/sdl2-${SDL2_VERSION}/bin/sdl2-config --cflags --libs)" | |
v run sdl/examples/versions | |
v should-compile-all sdl/examples/ | |
- name: Test SDL version | |
run: | | |
export CFLAGS="$(/tmp/sdl2-${SDL2_VERSION}/bin/sdl2-config --cflags --libs)" | |
VER="$(v run sdl/examples/version)" | |
echo "${SDL2_VERSION} == $VER ?" | |
test "${SDL2_VERSION}" = "$VER" || exit 1 | |
windows-gcc: | |
runs-on: windows-latest | |
timeout-minutes: 30 | |
env: | |
VFLAGS: -cc gcc -no-retry-compilation | |
SDL2_VERSION: 2.0.14 | |
steps: | |
- name: Install V | |
uses: vlang/setup-v@v1 | |
with: | |
check-latest: true | |
- name: Checkout SDL | |
uses: actions/checkout@v2 | |
with: | |
path: sdl | |
- name: Run tests | |
run: v test sdl | |
- name: Install dependencies | |
run: v run sdl/windows_install_dependencies.vsh | |
- name: Move SDL folder to ~/.vmodules/sdl | |
run: | | |
move-item -force sdl $home\.vmodules\ | |
- name: Build sdl examples | |
run: | | |
$sdl_home = "$home\.vmodules\sdl" | |
copy-item $sdl_home\thirdparty\SDL2-${env:SDL2_VERSION}\lib\x64\SDL2.dll $sdl_home\examples\versions\ | |
v run $sdl_home\examples\versions | |
v shader $sdl_home\examples\sdl_opengl_and_sokol | |
v should-compile-all $sdl_home\examples\ | |
windows-tcc: | |
runs-on: windows-latest | |
timeout-minutes: 30 | |
env: | |
VFLAGS: -cc tcc -no-retry-compilation | |
SDL2_VERSION: 2.0.14 | |
steps: | |
- name: Install V | |
uses: vlang/setup-v@v1 | |
with: | |
check-latest: true | |
- name: Checkout SDL | |
uses: actions/checkout@v2 | |
with: | |
path: sdl | |
- name: Run tests | |
run: v test sdl | |
- name: Install dependencies | |
run: v run sdl/windows_install_dependencies.vsh | |
- name: Move SDL folder to ~/.vmodules/sdl | |
run: | | |
move-item -force sdl $home\.vmodules\ | |
- name: Build sdl examples | |
run: | | |
$sdl_home = "$home\.vmodules\sdl" | |
copy-item $sdl_home\thirdparty\SDL2-${env:SDL2_VERSION}\lib\x64\SDL2.dll $sdl_home\examples\versions\ | |
v run $sdl_home\examples\versions | |
v shader $sdl_home\examples\sdl_opengl_and_sokol | |
v should-compile-all $sdl_home\examples\ |