name: CI

on:
  # Run on pushes to tags, the "master" branch, and PR's
  push:
    branches:
      - master
  pull_request:

jobs:
  sdl-release:
    runs-on: ubuntu-latest
    container:
      image: debian:latest
    steps:
      # Must install git before checking out the repo otherwise github doesn't fetch the .git directory.
      - name: Install dependencies
        run: |
          apt update
          apt install --yes build-essential git libjpeg-dev libsdl2-dev libcurl4-openssl-dev libpng-dev libfreetype-dev libvorbis-dev

      - name: Fetch repository
        uses: actions/checkout@v4.1.1
        with:
          # make `git describe` show the correct commit hash
          fetch-depth: '0'

      - name: Compile
        run: |
          # prevent git complaining about dubious ownership of the repo
          chown -R root:root .
          # fail if `git describe` doesn't work (required for the buildstring)
          git describe --always
          # fail if there's any warnings
          export CC="cc -Werror"
          make sdl-release

      - name: Upload Linux artifacts
        uses: actions/upload-artifact@v4
        with:
          name: Linux
          path: |
            darkplaces-sdl
