ci: RPM files have dashes instead of underscores #1614
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 upgrade | |
brew install sdl2 mpg123 sdl2_ttf sdl2_image flac libmpeg2 libserialport portmidi 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 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 | |
- 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 | |
- 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 | |
- 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-latest-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-latest-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-latest-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/download-artifact@v4.1.7 | |
- 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-latest-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-latest-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/download-artifact@v4.1.7 | |
- 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-latest-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 |