Skip to content

general: show progres while downloading SDL zip files, ignore windows… #1763

general: show progres while downloading SDL zip files, ignore windows…

general: show progres while downloading SDL zip files, ignore windows… #1763

Workflow file for this run

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\