Skip to content

try setting up LISP manually #94

try setting up LISP manually

try setting up LISP manually #94

Workflow file for this run

name: Linux Build
on:
push:
paths-ignore:
- 'LICENSE'
- 'README.md'
- '.github/workflows/windows.yml'
env:
FREEALUT_VERSION: 1.1.0
OPENAL_VERSION: 1.23.1
SDL_VERSION: 2.0.12
LISP: sbcl-bin
jobs:
build:
#if: ${{ false }} # disable for now
runs-on: ubuntu-20.04 # 20.04 glibc 2.31 - 22.10 glibc 2.36
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
lfs: true
- name: APT deps
run: |
sudo apt-get update
sudo apt-get install -y libassimp5
- name: mkdir
run: |
mkdir -pv ~/Downloads
shell: bash
- name: Cache .so libraries
id: cache
uses: actions/cache@v2
env:
cache-name: cache-qlot
with:
path: |
~/Downloads/
key: "${{ env.cache-name }}-${{ runner.os }}"
# I believe I do this to have it less dynlink than ubuntu's default
- name: Build SDL ${{ env.SDL_VERSION }}
run: |
cd ~/Downloads
wget https://www.libsdl.org/release/SDL2-${{ env.SDL_VERSION }}.tar.gz
tar xzf SDL2-${{ env.SDL_VERSION }}.tar.gz
cd SDL2-${{ env.SDL_VERSION }}
./configure
make
if: steps.cache.outputs.cache-hit != 'true'
- name: Install SDL ${{ env.SDL_VERSION }}
run: |
cd ~/Downloads/SDL2-${{ env.SDL_VERSION }}
sudo make install prefix=/usr
# Ubuntu's version links OpenAL with libsndio.so
- name: Build OpenAL ${{ env.OPENAL_VERSION }}
run: |
cd ~/Downloads
wget https://openal-soft.org/openal-releases/openal-soft-${{ env.OPENAL_VERSION }}.tar.bz2
tar xjf openal-soft-${{ env.OPENAL_VERSION }}.tar.bz2
cd openal-soft-${{ env.OPENAL_VERSION }}
cd build
cmake --install-prefix=/usr -DALSOFT_EXAMPLES=OFF ..
make
if: steps.cache.outputs.cache-hit != 'true'
- name: Install OpenAL ${{ env.OPENAL_VERSION }}
run: |
cd ~/Downloads/openal-soft-${{ env.OPENAL_VERSION }}/build
sudo make install
# Just building it because this builds against OpenAL
- name: Build Freealut ${{ env.FREEALUT_VERSION }}
run: |
cd ~/Downloads
wget http://deb.debian.org/debian/pool/main/f/freealut/freealut_${{ env.FREEALUT_VERSION }}.orig.tar.gz
tar xzf freealut_${{ env.FREEALUT_VERSION }}.orig.tar.gz
cd freealut-${{ env.FREEALUT_VERSION }}
sh autogen.sh
./configure
make
if: steps.cache.outputs.cache-hit != 'true'
- name: Install Freealut ${{ env.FREEALUT_VERSION }}
run: |
cd ~/Downloads/freealut-${{ env.FREEALUT_VERSION }}
sudo make install prefix=/usr
- uses: 40ants/setup-lisp@v4
with:
asdf-system: scenic
qlot-version: 1.5.15
- name: Build Binary
run: |
export SBCL="ros run"
cd bin/
make tar scenic.AppImage
- name: Dev Release
uses: marvinpinto/action-automatic-releases@latest
if: "!startsWith(github.ref, 'refs/tags/')"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest-linux"
prerelease: true
title: "Development Linux Build"
files: |
bin/scenic.AppImage
bin/scenic-Linux.tgz
- name: Stable Release
uses: marvinpinto/action-automatic-releases@latest
if: "startsWith(github.ref, 'refs/tags/')"
with:
prerelease: false
repo_token: "${{ secrets.GITHUB_TOKEN }}"
files: |
bin/scenic.AppImage
# - name: DEBUG SHELL
# uses: mxschmitt/action-tmate@v3
# if: ${{ failure() }}