Skip to content

Actions(deps): Bump actions/checkout from 4.1.1 to 4.1.2 #163

Actions(deps): Bump actions/checkout from 4.1.1 to 4.1.2

Actions(deps): Bump actions/checkout from 4.1.1 to 4.1.2 #163

Workflow file for this run

name: CI
on:
push:
pull_request:
defaults:
run:
shell: bash
jobs:
build-and-test:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
# When set to true, GitHub cancels
# all in-progress jobs if any matrix job fails.
fail-fast: false
matrix:
include:
- name: linux-latest-gcc
os: ubuntu-latest
# local variables
build_mode: regular
os_name: linux
cc: gcc
cxx: g++
- name: linux-latest-clang
os: ubuntu-latest
# local variables
build_mode: regular
os_name: linux
cc: clang
cxx: clang++
- name: macos-latest-clang
os: macos-latest
# local variables
build_mode: regular
os_name: osx
cc: clang
cxx: clang++
steps:
- name: Checkout Code
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
with:
submodules: recursive
- name: Setup apt cache (Linux)
if: startsWith(runner.os, 'Linux')
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
path: /var/cache/apt
key: ${{ runner.os }}-apt-cache-${{ matrix.os }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-apt-cache-${{ matrix.os }}-
${{ runner.os }}-apt-cache-
- name: Setup Prerequisites
run: |
case ${{ runner.os }} in
Linux*)
sudo apt update
packages=(
clang
cython3
doxygen
lcov
libao-dev
libasound2-dev
#libavahi-client-dev
#libavahi-glib-dev
libavcodec-dev
libboost-dev
#libcdio-cdda-dev
libcunit1-dev
libcurl4-gnutls-dev
#libdiscid0-dev
#libefl-all-dev
libexpat1-dev
libfaad-dev
libfftw3-dev
libflac-dev
libfluidsynth-dev
libgamin-dev
libglib2.0-dev
libgme-dev
libjack-dev
libmad0-dev
libmms-dev
libmodplug-dev
libmpcdec-dev
#libmpg123-dev
libofa0-dev
#libopusfile-dev
libperl-dev
libpulse-dev
libreadline-dev
libresid-builder-dev
libsamplerate0-dev
libsdl1.2-dev
libshout3-dev
libsidplay2-dev
libsmbclient-dev
libsndfile1-dev
libsqlite3-dev
libssl-dev
libvisual-0.4-dev
libvorbis-dev
libwavpack-dev
libxml2-dev
# for podselect
libpod-parser-perl
python3-dev
python3-all-dev
ruby-all-dev
# CI's valgrind can't parse dwarf output produced by clang:
# # unhandled dwarf2 abbrev form code 0x1b
# Valgrind: debuginfo reader: Possibly corrupted debuginfo file.
# Disable it for now.
#valgrind
)
sudo apt install "${packages[@]}" || for p in "${packages[@]}"; do
# Install packages one by one if the whole bundle failed.
# That should ease detection of individual problematic package
# that pulls in conflicting depend.
echo "Installing $p"
sudo apt install "$p" || exit 1
done
;;
macOS*)
# TODO
;;
esac
- name: Setup Python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: 3.x
- name: Build
env:
BUILD_MODE: ${{ matrix.build_mode }}
TRAVIS_OS_NAME: ${{ matrix.os_name }}
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: utils/travis-build.sh build