Skip to content

We need to set runs-on correctly for macOS build. #83

We need to set runs-on correctly for macOS build.

We need to set runs-on correctly for macOS build. #83

Workflow file for this run

name: Continuous Integration
on: [push, pull_request]
jobs:
linux_build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install SDL
run: |
sudo apt update
sudo apt -q install libsdl2-dev
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure
- name: make
run: make -j4
- name: make check
run: make check
- name: autotools dist check
run: |
# This checks we can go through the entire process of generating
# a distribution package with autotools, and that the package can
# be built and installed successfully.
make distdir distdir=distdir
cd distdir
./configure
make -j4
make install DESTDIR=/tmp/asdfghj
emscripten_build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Emscripten
run: |
sudo apt update
sudo apt -q install emscripten
- name: Find Git version
id: version
run: |
if git describe --exact-match --tags >/dev/null; then
VERSION=$(git describe --exact-match --tags)
VERSION=${VERSION/#sdl-sopwith-/}
else
VERSION=$(git rev-parse --short HEAD)
fi
echo "VERSION=$VERSION-js" >> $GITHUB_OUTPUT
# Patch the version in configure.ac:
sed -i "s/\(AC_INIT([^,]*, \)\[[^]]*\], /\1[$VERSION], /" \
configure.ac
- name: build
run: ./embuild.sh
- name: make pkg
run: |
make -C pkg/emscripten
- name: Upload build
uses: actions/upload-artifact@v1
with:
path: "pkg/emscripten/page"
name: sdl-sopwith-${{steps.version.outputs.VERSION}}
- name: Deploy
if: ${{ github.ref == 'refs/heads/trunk' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: "pkg/emscripten/page"
repository-name: "fragglet/sdl-sopwith-latest"
token: "${{secrets.SDL_SOPWITH_LATEST_SECRET}}"
clean: true
commit-message: "Build from fragglet/sdl-sopwith@${{github.sha}}"
matrix_build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
defaults:
run:
shell: ${{ matrix.config.shell }}
strategy:
fail-fast: false
matrix:
config:
- name: MSYS2 MINGW64
os: windows-latest
compiler: gcc
shell: 'msys2 {0}'
msystem: ucrt64
msys-env: mingw-w64-x86_64
suffix: win64
- name: MSYS2 MINGW32
os: windows-latest
compiler: gcc
shell: 'msys2 {0}'
msystem: mingw32
msys-env: mingw-w64-i686
suffix: win32
- name: macOS Clang
os: macos-latest
compiler: clang
shell: bash
suffix: macos
steps:
- name: Install pandoc
if: runner.os == 'Windows'
shell: cmd
run: choco install pandoc
- name: Set up MSYS2
if: runner.os == 'Windows'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.config.msystem }}
path-type: inherit
update: true
install: >-
autotools
base-devel
dos2unix
git
zip
${{ matrix.config.msys-env}}-gcc
${{ matrix.config.msys-env}}-python
${{ matrix.config.msys-env}}-SDL2
- name: Install Homebrew packages
run: brew install sdl2 autoconf automake libtool pandoc
- uses: actions/checkout@v3
- name: Find Git version
id: version
run: |
if git describe --exact-match --tags >/dev/null; then
VERSION=$(git describe --exact-match --tags)
VERSION=${VERSION/#sdl-sopwith-/}
else
VERSION=$(git rev-parse --short HEAD)
fi
VERSION=$VERSION-${{ matrix.config.suffix }}
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
# Patch the version in configure.ac:
sed -i "s/\(AC_INIT([^,]*, \)\[[^]]*\], /\1[$VERSION], /" \
configure.ac
- name: autogen
run: |
./autogen.sh
- name: make
run: make -j8
- name: Package (Windows)
if: runner.os == 'Windows'
run: |
cd pkg/win32
make
- name: Upload build (Windows)
if: runner.os == 'Windows'
uses: actions/upload-artifact@v1
with:
path: "pkg/win32/staging"
name: sdl-sopwith-${{steps.version.outputs.VERSION}}
- name: Make package (macOS)
if: runner.os == 'macOS'
run: |
cd pkg/macos
make PACKAGE_VERSION=${{steps.version.outputs.VERSION}} \
PACKAGE_STRING="Sopwith build ${{steps.version.outputs.VERSION}}"
- name: Upload build (macOS)
if: runner.os == 'macOS'
uses: actions/upload-artifact@v1
with:
path: "pkg/macos/sdl-sopwith-${{steps.version.outputs.VERSION}}.dmg"
name: sdl-sopwith-${{steps.version.outputs.VERSION}}