shithub: m8c

ref: 7f551c99a6a3c7b54cf6a370ab06e4f4f904511c
dir: /.github/workflows/build-ubuntu.yml/

View raw version
name: m8c linux x64 build

on:
  push:
  pull_request:
  workflow_dispatch:

jobs:
 
  build-linux:
    env:
      SDL_VERSION: 3.2.4
    runs-on: ubuntu-latest
    name: linux-x86_64
    steps:
      - name: 'Install dependencies'
        run: |
          sudo apt-get update
          sudo apt-get install --fix-missing build-essential libserialport-dev zip git make pkg-config cmake ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev

      - name: 'Cache SDL3 files'
        id: cache-x86_64-sdl3-files
        uses: actions/cache@v4
        with:
          path: 'SDL3-3.2.4'
          key: linux-x86_64-sdl3-files

      - name: 'Download SDL3 sources'
        if: steps.cache-x86_64-sdl3-files.outputs.cache-hit != 'true'
        run: |
          (curl https://www.libsdl.org/release/SDL3-$SDL_VERSION.tar.gz || curl -L https://github.com/libsdl-org/SDL/releases/download/release-$SDL_VERSION/SDL3-$SDL_VERSION.tar.gz) | tar zxvf -

      - name: 'Build SDL3'
        if: steps.cache-x86_64-sdl3-files.outputs.cache-hit != 'true'
        run: |
          pushd SDL3-$SDL_VERSION
          mkdir build_x86_64
          cmake -S . -B build_x86_64
          cmake --build build_x86_64
          sudo cmake --install build_x86_64
          popd


      - name: 'Checkout'
        uses: actions/checkout@v4

      - name: Set current date as env variable
        run: echo "NOW=$(date +'%Y-%m-%d')" >> $GITHUB_ENV

      - name: 'Build package'
        run: |
          make
      - name: 'Upload artifact'
        uses: actions/upload-artifact@v4
        with:
          name: m8c-${{ env.NOW }}-linux-x86_64
          path: |
            LICENSE
            README.md
            AUDIOGUIDE.md
            m8c
            gamecontrollerdb.txt