Skip to content

chore: minor guisan cleanup #38

chore: minor guisan cleanup

chore: minor guisan cleanup #38

Workflow file for this run

name: C/C++ CI
on:
workflow_dispatch:
push:
pull_request:
jobs:
build-macOS-x86_64:
runs-on: macos-13
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Fix homebrew in Github Runner
run: |
for f in $(find /usr/local/bin -type l -print); do \
(readlink $f | grep -q -s "/Library") && echo Removing "$f" && rm -f "$f"; \
done || exit 0
- name: Install dependencies
run: |
brew update
brew install sdl2 mpg123 sdl2_ttf sdl2_image flac libmpeg2 libserialport portmidi enet dylibbundler
- name: make for macOS X64
run: |
cmake -B build && cmake --build build -j4
cpack -G DragNDrop --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-macOS-64bit-intel
path: amiberry-*.dmg
build-macOS-Apple-Silicon:
runs-on: macos-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: |
brew update
brew upgrade
brew install sdl2 mpg123 sdl2_ttf sdl2_image flac libmpeg2 libserialport portmidi enet dylibbundler
- name: make for macOS Apple Silicon
run: |
cmake -B build && cmake --build build -j4
cpack -G DragNDrop --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-macOS-64bit-apple-silicon
path: amiberry-*.dmg
build-ubuntu-24-amd64:
runs-on: ubuntu-24.04
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build libflac-dev libmpeg2-4-dev libpng-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libasound2-dev libmpg123-dev libportmidi-dev libserialport-dev libenet-dev
- name: make for Ubuntu 24.04 AMD64
run: |
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-ubuntu-24.04-amd64
path: amiberry_*.deb
build-ubuntu-22-amd64:
runs-on: ubuntu-22.04
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build libflac-dev libmpeg2-4-dev libpng-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libasound2-dev libmpg123-dev libportmidi-dev libserialport-dev libenet-dev
- name: make for Ubuntu 22.04 AMD64
run: |
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-ubuntu-22.04-amd64
path: amiberry_*.deb
build-ubuntu-20-amd64:
runs-on: ubuntu-20.04
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake ninja-build libflac-dev libmpeg2-4-dev libpng-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libasound2-dev libmpg123-dev libportmidi-dev libserialport-dev libenet-dev
- name: make for Ubuntu 20.04 AMD64
run: |
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-ubuntu-20.04-amd64
path: amiberry_*.deb
build-fedora-40-x86_64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-fedora-x86_64:latest
options: -v ${{ github.workspace }}:/build
run: |
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G RPM --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-fedora-40-x86_64
path: amiberry-*.rpm
build-debian-bullseye-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-debian-x86_64:bullseye
options: -v ${{ github.workspace }}:/build
run: |
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-debian-bullseye-amd64
path: amiberry_*.deb
build-debian-bookworm-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-debian-x86_64:bookworm
options: -v ${{ github.workspace }}:/build
run: |
cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-debian-bookworm-amd64
path: amiberry_*.deb
build-debian-bookworm-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-debian-aarch64:bookworm
options: -v ${{ github.workspace }}:/build
run: |
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-aarch64-linux-gnu.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-debian-bookworm-arm64
path: amiberry_*.deb
build-debian-bookworm-armhf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-debian-armhf:bookworm
options: -v ${{ github.workspace }}:/build
run: |
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-arm-linux-gnueabihf.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-debian-bookworm-armhf
path: amiberry_*.deb
build-debian-bullseye-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-debian-aarch64:bullseye
options: -v ${{ github.workspace }}:/build
run: |
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-aarch64-linux-gnu.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-debian-bullseye-arm64
path: amiberry_*.deb
build-debian-bullseye-armhf:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run the build process with Docker
uses: addnab/docker-run-action@v3
with:
image: midwan/amiberry-debian-armhf:bullseye
options: -v ${{ github.workspace }}:/build
run: |
cmake -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-arm-linux-gnueabihf.cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j4
cpack -G DEB --config build/CPackConfig.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: amiberry-debian-bullseye-armhf
path: amiberry_*.deb
create-release:
needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-fedora-40-x86_64, build-ubuntu-24-amd64, build-ubuntu-22-amd64, build-ubuntu-20-amd64, build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf]
runs-on: ubuntu-latest
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v')
steps:
- uses: actions/checkout@v4
- name: Create Changelog
if: github.ref_type == 'tag'
id: changelog
uses: loopwerk/tag-changelog@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
config_file: .github/tag-changelog-config.js
- name: Download Build Artifacts
uses: actions/[email protected]
- name: Create Release
if: github.ref_type == 'tag'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
omitBodyDuringUpdate: true
body: ${{ steps.changelog.outputs.changes }}
artifacts: |
amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip
amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
amiberry-fedora-40-x86_64/amiberry_*.rpm
amiberry-ubuntu-24.04-amd64/amiberry_*.deb
amiberry-ubuntu-22.04-amd64/amiberry_*.deb
amiberry-ubuntu-20.04-amd64/amiberry_*.deb
amiberry-debian-bookworm-amd64/amiberry_*.deb
amiberry-debian-bookworm-arm64/amiberry_*.deb
amiberry-debian-bookworm-armhf/amiberry_*.deb
amiberry-debian-bullseye-amd64/amiberry_*.deb
amiberry-debian-bullseye-arm64/amiberry_*.deb
amiberry-debian-bullseye-armhf/amiberry_*.deb
create-prerelease:
needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-fedora-40-x86_64, build-ubuntu-24-amd64, build-ubuntu-22-amd64, build-ubuntu-20-amd64,build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf]
runs-on: ubuntu-latest
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'preview-v')
steps:
- uses: actions/checkout@v4
- name: Create Changelog
if: github.ref_type == 'tag'
id: changelog
uses: loopwerk/tag-changelog@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
config_file: .github/tag-changelog-config.js
- name: Download Build Artifacts
uses: actions/[email protected]
- name: Create PreRelease
if: github.ref_type == 'tag'
uses: ncipollo/release-action@v1
with:
prerelease: true
allowUpdates: true
omitBodyDuringUpdate: true
body: ${{ steps.changelog.outputs.changes }}
artifacts: |
amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip
amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
amiberry-fedora-40-x86_64/amiberry_*.rpm
amiberry-ubuntu-24.04-amd64/amiberry_*.deb
amiberry-ubuntu-22.04-amd64/amiberry_*.deb
amiberry-ubuntu-20.04-amd64/amiberry_*.deb
amiberry-debian-bookworm-amd64/amiberry_*.deb
amiberry-debian-bookworm-arm64/amiberry_*.deb
amiberry-debian-bookworm-armhf/amiberry_*.deb
amiberry-debian-bullseye-amd64/amiberry_*.deb
amiberry-debian-bullseye-arm64/amiberry_*.deb
amiberry-debian-bullseye-armhf/amiberry_*.deb