Run tx push from Ubuntu Noble #1201
Workflow file for this run
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: all | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: clang-format | |
uses: clementine-player/clang-format-lint-action@master | |
with: | |
style: "{BasedOnStyle: Google, DerivePointerBinding: false, Standard: Cpp11}" | |
source: ./src | |
clangFormatVersion: 9 | |
push_translations: | |
name: Push translation sources to Transifex | |
if: github.ref == 'refs/heads/master' | |
runs-on: ubuntu-24.04 | |
container: | |
image: ubuntu:noble | |
steps: | |
- uses: supplypike/setup-bin@v3 | |
with: | |
uri: https://github.com/transifex/cli/releases/download/v1.6.17/tx-linux-amd64.tar.gz | |
name: tx | |
version: 1.6.17 | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: > | |
apt-get update && apt-get install -y | |
build-essential | |
cmake | |
gettext | |
git | |
libasound2-dev | |
libboost-dev | |
libcdio-dev | |
libchromaprint-dev | |
libdbus-1-dev | |
libfftw3-dev | |
libglew-dev | |
libglib2.0-dev | |
libgpod-dev | |
libgstreamer-plugins-base1.0-dev | |
libgstreamer1.0-dev | |
liblastfm5-dev | |
libmtp-dev | |
libprotobuf-dev | |
libpulse-dev | |
libqt5x11extras5-dev | |
libsqlite3-dev | |
libtag1-dev | |
pkg-config | |
protobuf-compiler | |
python3-pip | |
qtbase5-dev | |
qttools5-dev-tools | |
qttools5-dev | |
libsparsehash-dev | |
ssh | |
- name: Checkout | |
uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: tx init | |
env: | |
TX_TOKEN: ${{ secrets.TX_TOKEN }} | |
run: tx init | |
- name: cmake | |
working-directory: bin | |
run: cmake .. | |
- name: make | |
working-directory: bin | |
run: make -j2 | |
- name: tx config | |
env: | |
TX_TOKEN: ${{ secrets.TX_TOKEN }} | |
run: tx add --organization davidsansome --project clementine --resource clementineplayer --file-filter 'src/translations/<lang>.po' --type PO src/translations/en.po | |
- name: tx push | |
env: | |
TX_TOKEN: ${{ secrets.TX_TOKEN }} | |
run: tx push -s | |
create_release: | |
name: Create GitHub Release | |
runs-on: ubuntu-24.04 | |
if: github.ref == 'refs/heads/master' | |
needs: | |
- build_bullseye_64 | |
- build_buster_64 | |
- build_fedora_36 | |
- build_fedora_37 | |
- build_fedora_38 | |
- build_focal_64 | |
- build_jammy_64 | |
# - build_mac | |
- build_mingw | |
- build_source | |
steps: | |
- uses: actions/checkout@v1.2.0 | |
- uses: actions/download-artifact@v4 | |
with: | |
path: release_artifacts | |
- name: Create draft pre-release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
set -x | |
VERSION=$(echo release_artifacts/**/*.tar.xz | sed -e 's/.*clementine-\(.*\).tar.xz/\1/') | |
echo "Version: ${VERSION}" | |
assets=() | |
for asset in $(find release_artifacts -type f); do | |
echo "Adding asset: ${asset}" | |
assets+=("-a" "$asset") | |
done | |
hub release create -p "${assets[@]}" -m "$VERSION" -t "$GITHUB_SHA" "$VERSION" | |
build_source: | |
name: Build source tarball | |
runs-on: ubuntu-24.04 | |
container: | |
image: ubuntu:focal | |
steps: | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: > | |
apt-get update && apt-get install -y | |
cmake | |
fakeroot | |
gettext | |
git | |
libasound2-dev | |
libboost-dev | |
libboost-serialization-dev | |
libcdio-cdda2 | |
libcdio-dev | |
libchromaprint-dev | |
libcrypto++-dev | |
libdbus-1-dev | |
libfftw3-dev | |
libglew1.5-dev | |
libgpod-dev | |
libgstreamer-plugins-base1.0-dev | |
libgstreamer1.0-dev | |
liblastfm5-dev | |
libmtp-dev | |
libmygpo-qt-dev | |
libplist-dev | |
libprotobuf-dev | |
libpulse-dev | |
libqca-qt5-2-dev | |
libqca-qt5-2-plugins | |
libqt5x11extras5-dev | |
libsparsehash-dev | |
libsqlite3-dev | |
libtag1-dev | |
libusbmuxd-dev | |
protobuf-compiler | |
qtbase5-dev | |
qttools5-dev-tools | |
qttools5-dev | |
ssh | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: cmake .. | |
- name: Build source tarball | |
working-directory: bin | |
run: ../dist/maketarball.sh | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_source | |
path: bin/clementine-*.tar.xz | |
build_fedora_36: | |
name: Build Fedora 36 RPM | |
runs-on: ubuntu-24.04 | |
container: | |
image: fedora:36 | |
env: | |
RPM_BUILD_NCPUS: "2" | |
steps: | |
- name: Install dependencies | |
run: > | |
dnf install --assumeyes | |
@development-tools | |
alsa-lib-devel | |
boost-devel | |
cmake | |
cryptopp-devel | |
dbus-devel | |
desktop-file-utils | |
fftw-devel | |
gcc-c++ | |
gettext | |
git | |
glew-devel | |
gstreamer1-devel | |
gstreamer1-plugins-base-devel | |
hicolor-icon-theme | |
libappstream-glib | |
libcdio-devel | |
libchromaprint-devel | |
libgpod-devel | |
liblastfm-qt5-devel | |
libmtp-devel | |
libnotify-devel | |
openssh | |
pkgconfig | |
protobuf-compiler | |
protobuf-devel | |
pulseaudio-libs-devel | |
qca-qt5-devel | |
qca-qt5-ossl | |
qt5-linguist | |
qt5-qtbase-devel | |
qt5-qtx11extras-devel | |
qt5-rpm-macros | |
qtsingleapplication-qt5-devel | |
qtsinglecoreapplication-qt5-devel | |
rpmdevtools | |
sha2-devel | |
sparsehash-devel | |
sqlite-devel | |
taglib-devel | |
tar | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On .. | |
- name: Build source tarball | |
working-directory: bin | |
run: ../dist/maketarball.sh | |
- name: Create rpmbuild directory | |
run: mkdir -p ~/rpmbuild/SOURCES | |
- name: Move source tarball | |
working-directory: bin | |
run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES | |
- name: Build RPM | |
working-directory: bin | |
run: rpmbuild -ba ../dist/clementine.spec | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_fedora_36 | |
path: ~/rpmbuild/RPMS/*/clementine-*.rpm | |
build_fedora_37: | |
name: Build Fedora 37 RPM | |
runs-on: ubuntu-24.04 | |
container: | |
image: fedora:37 | |
env: | |
RPM_BUILD_NCPUS: "2" | |
steps: | |
- name: Install dependencies | |
run: > | |
dnf install --assumeyes | |
@development-tools | |
alsa-lib-devel | |
boost-devel | |
cmake | |
cryptopp-devel | |
dbus-devel | |
desktop-file-utils | |
fftw-devel | |
gcc-c++ | |
gettext | |
git | |
glew-devel | |
gstreamer1-devel | |
gstreamer1-plugins-base-devel | |
hicolor-icon-theme | |
libappstream-glib | |
libcdio-devel | |
libchromaprint-devel | |
libgpod-devel | |
liblastfm-qt5-devel | |
libmtp-devel | |
libnotify-devel | |
openssh | |
pkgconfig | |
protobuf-compiler | |
protobuf-devel | |
pulseaudio-libs-devel | |
qca-qt5-devel | |
qca-qt5-ossl | |
qt5-linguist | |
qt5-qtbase-devel | |
qt5-qtx11extras-devel | |
qt5-rpm-macros | |
qtsingleapplication-qt5-devel | |
qtsinglecoreapplication-qt5-devel | |
rpmdevtools | |
sha2-devel | |
sparsehash-devel | |
sqlite-devel | |
taglib-devel | |
tar | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On .. | |
- name: Build source tarball | |
working-directory: bin | |
run: ../dist/maketarball.sh | |
- name: Create rpmbuild directory | |
run: mkdir -p ~/rpmbuild/SOURCES | |
- name: Move source tarball | |
working-directory: bin | |
run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES | |
- name: Build RPM | |
working-directory: bin | |
run: rpmbuild -ba ../dist/clementine.spec | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_fedora_37 | |
path: ~/rpmbuild/RPMS/*/clementine-*.rpm | |
build_fedora_38: | |
name: Build Fedora 38 RPM | |
runs-on: ubuntu-24.04 | |
container: | |
image: fedora:38 | |
env: | |
RPM_BUILD_NCPUS: "2" | |
steps: | |
- name: Install dependencies | |
run: > | |
dnf install --assumeyes | |
@development-tools | |
alsa-lib-devel | |
boost-devel | |
cmake | |
cryptopp-devel | |
dbus-devel | |
desktop-file-utils | |
fftw-devel | |
gcc-c++ | |
gettext | |
git | |
glew-devel | |
gstreamer1-devel | |
gstreamer1-plugins-base-devel | |
hicolor-icon-theme | |
libappstream-glib | |
libcdio-devel | |
libchromaprint-devel | |
libgpod-devel | |
liblastfm-qt5-devel | |
libmtp-devel | |
libnotify-devel | |
openssh | |
pkgconfig | |
protobuf-compiler | |
protobuf-devel | |
pulseaudio-libs-devel | |
qca-qt5-devel | |
qca-qt5-ossl | |
qt5-linguist | |
qt5-qtbase-devel | |
qt5-qtx11extras-devel | |
qt5-rpm-macros | |
qtsingleapplication-qt5-devel | |
qtsinglecoreapplication-qt5-devel | |
rpmdevtools | |
sha2-devel | |
sparsehash-devel | |
sqlite-devel | |
taglib-devel | |
tar | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: cmake -DUSE_SYSTEM_QTSINGLEAPPLICATION=On .. | |
- name: Build source tarball | |
working-directory: bin | |
run: ../dist/maketarball.sh | |
- name: Create rpmbuild directory | |
run: mkdir -p ~/rpmbuild/SOURCES | |
- name: Move source tarball | |
working-directory: bin | |
run: mv clementine-*.tar.xz ~/rpmbuild/SOURCES | |
- name: Build RPM | |
working-directory: bin | |
run: rpmbuild -ba ../dist/clementine.spec | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_fedora_38 | |
path: ~/rpmbuild/RPMS/*/clementine-*.rpm | |
build_mingw: | |
name: Build Windows Installer | |
runs-on: ubuntu-24.04 | |
container: | |
image: eu.gcr.io/clementine-data/mingw-w64:latest | |
env: | |
PKG_CONFIG_PATH: /target/lib/pkgconfig | |
steps: | |
- name: Fix liblastfm includes | |
run: ln -s /target/include/lastfm /target/include/lastfm5 | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: > | |
cmake .. | |
-DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake | |
-DCMAKE_BUILD_TYPE=Release | |
- name: make | |
working-directory: bin | |
run: make -j2 | |
- name: Copy output exes | |
working-directory: dist/windows | |
run: cp ../../bin/*.exe . | |
- name: Copy base runtime DLLs | |
run: > | |
cp | |
/usr/lib/gcc/i686-w64-mingw32/*-posix/libgcc_s_sjlj-1.dll | |
/usr/lib/gcc/i686-w64-mingw32/*-posix/libstdc++-6.dll | |
/usr/i686-w64-mingw32/lib/libwinpthread-1.dll | |
dist/windows | |
- name: Copy DLL depdendencies | |
working-directory: /target/bin | |
run: > | |
cp | |
glew32.dll | |
libcdio-19.dll | |
libchromaprint.dll | |
libcrypto-1_1.dll | |
libfaad-2.dll | |
libffi-7.dll | |
libfftw3-3.dll | |
libFLAC-8.dll | |
libgcrypt-20.dll | |
libgio-2.0-0.dll | |
libglib-2.0-0.dll | |
libgmodule-2.0-0.dll | |
libgmp-10.dll | |
libgnutls-30.dll | |
libgobject-2.0-0.dll | |
libgpg-error-0.dll | |
libgpod.dll | |
libgstapp-1.0-0.dll | |
libgstaudio-1.0-0.dll | |
libgstbase-1.0-0.dll | |
libgstfft-1.0-0.dll | |
libgstnet-1.0-0.dll | |
libgstpbutils-1.0-0.dll | |
libgstreamer-1.0-0.dll | |
libgstriff-1.0-0.dll | |
libgstrtp-1.0-0.dll | |
libgstrtsp-1.0-0.dll | |
libgstsdp-1.0-0.dll | |
libgsttag-1.0-0.dll | |
libgstvideo-1.0-0.dll | |
libgthread-2.0-0.dll | |
libhogweed-6.dll | |
libiconv-2.dll | |
libintl-8.dll | |
liblastfm5.dll | |
libmms-0.dll | |
libmp3lame-0.dll | |
libnettle-8.dll | |
libogg-0.dll | |
liboil-0.3-0.dll | |
libopus-0.dll | |
liborc-0.4-0.dll | |
liborc-test-0.4-0.dll | |
libp11-kit-0.dll | |
libpcre-1.dll | |
libplist.dll | |
libprotobuf-17.dll | |
libpsl-5.dll | |
libssl-1_1.dll | |
libsoup-2.4-1.dll | |
libspeex-1.dll | |
libspotify.dll | |
libsqlite3-0.dll | |
libtag.dll | |
libtasn1-6.dll | |
libunistring-2.dll | |
libvorbis-0.dll | |
libvorbisenc-2.dll | |
libxml2-2.dll | |
libwavpack-1.dll | |
Qt5Concurrent.dll | |
Qt5Core.dll | |
Qt5Gui.dll | |
Qt5Network.dll | |
Qt5OpenGL.dll | |
Qt5Sql.dll | |
Qt5Svg.dll | |
Qt5Widgets.dll | |
Qt5WinExtras.dll | |
Qt5Xml.dll | |
zlib1.dll | |
${GITHUB_WORKSPACE}/dist/windows | |
- run: mkdir dist/windows/imageformats | |
- name: Copy Qt imageformat plugin DLLs | |
working-directory: /target/plugins | |
run: > | |
cp | |
imageformats/qgif.dll | |
imageformats/qjpeg.dll | |
imageformats/qsvg.dll | |
${GITHUB_WORKSPACE}/dist/windows/imageformats | |
- run: mkdir dist/windows/platforms | |
- name: Copy Qt platforms plugin DLLs | |
working-directory: /target/plugins | |
run: > | |
cp | |
platforms/qwindows.dll | |
${GITHUB_WORKSPACE}/dist/windows/platforms | |
- run: mkdir dist/windows/styles | |
- name: Copy Qt style plugin DLLs | |
working-directory: /target/plugins | |
run: > | |
cp | |
styles/qwindowsvistastyle.dll | |
${GITHUB_WORKSPACE}/dist/windows/styles | |
- run: mkdir dist/windows/gio-modules | |
- name: Copy GIO modules | |
run: cp /target/lib/gio/modules/libgiognutls.dll dist/windows/gio-modules | |
- run: mkdir dist/windows/gstreamer-plugins | |
- name: Copy gstreamer plugins | |
working-directory: /target/lib/gstreamer-1.0 | |
run: > | |
cp | |
libgstaiff.dll | |
libgstapetag.dll | |
libgstapp.dll | |
libgstasf.dll | |
libgstasfmux.dll | |
libgstaudioconvert.dll | |
libgstaudiofx.dll | |
libgstaudioparsers.dll | |
libgstaudioresample.dll | |
libgstaudiotestsrc.dll | |
libgstautodetect.dll | |
libgstcdio.dll | |
libgstcoreelements.dll | |
libgstdirectsound.dll | |
libgstequalizer.dll | |
libgstfaad.dll | |
libgstflac.dll | |
libgstgdp.dll | |
libgstgio.dll | |
libgsticydemux.dll | |
libgstid3demux.dll | |
libgstid3tag.dll | |
libgstisomp4.dll | |
libgstlame.dll | |
libgstlibav.dll | |
libgstmms.dll | |
libgstogg.dll | |
libgstopus.dll | |
libgstopusparse.dll | |
libgstpbtypes.dll | |
libgstplayback.dll | |
libgstreplaygain.dll | |
libgstrtp.dll | |
libgstrtsp.dll | |
libgstsoup.dll | |
libgstspectrum.dll | |
libgstspeex.dll | |
libgsttaglib.dll | |
libgsttcp.dll | |
libgsttypefindfunctions.dll | |
libgstudp.dll | |
libgstvolume.dll | |
libgstvorbis.dll | |
libgstwavpack.dll | |
libgstwavparse.dll | |
${GITHUB_WORKSPACE}/dist/windows/gstreamer-plugins | |
- name: Build Windows installer | |
working-directory: dist/windows | |
run: makensis clementine.nsi | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_mingw | |
path: dist/windows/ClementineSetup*.exe | |
build_bullseye_64: | |
name: Build Debian Bullseye 64-bit deb | |
runs-on: ubuntu-24.04 | |
container: | |
image: debian:bullseye | |
steps: | |
- name: Install dependencies | |
run: > | |
apt-get update && apt-get install -y | |
build-essential | |
cmake | |
debhelper | |
gettext | |
git | |
libasound2-dev | |
libboost-dev | |
libcdio-dev | |
libchromaprint-dev | |
libcrypto++-dev | |
libdbus-1-dev | |
libfftw3-dev | |
libglew1.5-dev | |
libglib2.0-dev | |
libgpod-dev | |
libgstreamer-plugins-base1.0-dev | |
libgstreamer1.0-dev | |
liblastfm5-dev | |
libmtp-dev | |
libmygpo-qt-dev | |
libprotobuf-dev | |
libpulse-dev | |
libqt5x11extras5-dev | |
libsparsehash-dev | |
libsqlite3-dev | |
libtag1-dev | |
pkg-config | |
protobuf-compiler | |
qtbase5-dev | |
qttools5-dev-tools | |
qttools5-dev | |
ssh | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: > | |
cmake .. | |
-DWITH_DEBIAN=ON | |
-DDEB_ARCH=amd64 | |
-DDEB_DIST=bullseye | |
-DENABLE_SPOTIFY_BLOB=OFF | |
- name: make | |
working-directory: bin | |
run : make -j2 deb | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_bullseye_64 | |
path: bin/clementine_*.deb | |
build_buster_64: | |
name: Build Debian Buster 64-bit deb | |
runs-on: ubuntu-24.04 | |
container: | |
image: debian:buster | |
steps: | |
- name: Install dependencies | |
run: > | |
apt-get update && apt-get install -y | |
build-essential | |
cmake | |
gettext | |
git | |
libasound2-dev | |
libboost-dev | |
libcdio-dev | |
libchromaprint-dev | |
libcrypto++-dev | |
libdbus-1-dev | |
libfftw3-dev | |
libglew1.5-dev | |
libglib2.0-dev | |
libgpod-dev | |
libgstreamer-plugins-base1.0-dev | |
libgstreamer1.0-dev | |
liblastfm5-dev | |
libmtp-dev | |
libmygpo-qt-dev | |
libprotobuf-dev | |
libpulse-dev | |
libqt5x11extras5-dev | |
libsparsehash-dev | |
libsqlite3-dev | |
libtag1-dev | |
pkg-config | |
protobuf-compiler | |
qtbase5-dev | |
qttools5-dev-tools | |
qttools5-dev | |
ssh | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: > | |
cmake .. | |
-DWITH_DEBIAN=ON | |
-DDEB_ARCH=amd64 | |
-DDEB_DIST=buster | |
-DENABLE_SPOTIFY_BLOB=OFF | |
- name: make | |
working-directory: bin | |
run : make -j2 deb | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_buster_64 | |
path: bin/clementine_*.deb | |
build_focal_64: | |
name: Build Ubuntu Focal 64-bit deb | |
runs-on: ubuntu-24.04 | |
container: | |
image: ubuntu:focal | |
steps: | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: > | |
apt-get update && apt-get install -y | |
cmake | |
fakeroot | |
gettext | |
git | |
libasound2-dev | |
libboost-dev | |
libboost-serialization-dev | |
libcdio-cdda2 | |
libcdio-dev | |
libchromaprint-dev | |
libcrypto++-dev | |
libdbus-1-dev | |
libfftw3-dev | |
libglew1.5-dev | |
libgpod-dev | |
libgstreamer-plugins-base1.0-dev | |
libgstreamer1.0-dev | |
liblastfm5-dev | |
libmtp-dev | |
libmygpo-qt-dev | |
libplist-dev | |
libprotobuf-dev | |
libpulse-dev | |
libqca-qt5-2-dev | |
libqca-qt5-2-plugins | |
libqt5x11extras5-dev | |
libsparsehash-dev | |
libsqlite3-dev | |
libtag1-dev | |
libusbmuxd-dev | |
protobuf-compiler | |
qtbase5-dev | |
qttools5-dev-tools | |
qttools5-dev | |
ssh | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: > | |
cmake .. | |
-DWITH_DEBIAN=ON | |
-DDEB_ARCH=amd64 | |
-DDEB_DIST=focal | |
-DENABLE_SPOTIFY_BLOB=OFF | |
- name: make | |
working-directory: bin | |
run : make -j2 deb | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_focal_64 | |
path: bin/clementine_*.deb | |
build_jammy_64: | |
name: Build Ubuntu Jammy 64-bit deb | |
runs-on: ubuntu-24.04 | |
container: | |
image: ubuntu:jammy | |
steps: | |
- name: Install dependencies | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: > | |
apt-get update && apt-get install -y | |
cmake | |
dpkg-dev | |
debhelper | |
fakeroot | |
g++ | |
gettext | |
git | |
libasound2-dev | |
libboost-dev | |
libboost-serialization-dev | |
libcdio-cdda2 | |
libcdio-dev | |
libchromaprint-dev | |
libcrypto++-dev | |
libdbus-1-dev | |
libfftw3-dev | |
libglew-dev | |
libgpod-dev | |
libgstreamer-plugins-base1.0-dev | |
libgstreamer1.0-dev | |
liblastfm5-dev | |
libmtp-dev | |
libmygpo-qt-dev | |
libplist-dev | |
libprotobuf-dev | |
libpulse-dev | |
libqca-qt5-2-dev | |
libqca-qt5-2-plugins | |
libqt5x11extras5-dev | |
libsparsehash-dev | |
libsqlite3-dev | |
libtag1-dev | |
libusbmuxd-dev | |
protobuf-compiler | |
qtbase5-dev | |
qttools5-dev-tools | |
qttools5-dev | |
ssh | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: cmake | |
working-directory: bin | |
run: > | |
cmake .. | |
-DWITH_DEBIAN=ON | |
-DDEB_ARCH=amd64 | |
-DDEB_DIST=jammy | |
-DENABLE_SPOTIFY_BLOB=OFF | |
- name: make | |
working-directory: bin | |
run : make -j2 deb | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_jammy_64 | |
path: bin/clementine_*.deb | |
build_mac: | |
if: false | |
name: Build Mac DMG | |
runs-on: macos-10.15 | |
steps: | |
- uses: actions/checkout@v1.2.0 | |
- name: git hackery | |
run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
- name: Install dependencies | |
run: brew bundle | |
- name: Build libgpod | |
shell: bash | |
env: | |
PERL_MM_USE_DEFAULT: 1 | |
run: | | |
sudo cpan install XML::Parser | |
wget https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-0.8.3.tar.bz2 | |
tar -xvf libgpod-0.8.3.tar.bz2 | |
cd libgpod-0.8.3 | |
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/autogen.sh | |
wget https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/libgpod/files/patch-tools-generic-callout.c.diff | |
patch -p0 < patch-tools-generic-callout.c.diff | |
patch -p1 < $GITHUB_WORKSPACE/3rdparty/libgpod/patches/0001-Look-for-libplist-2.0.patch | |
chmod u+x autogen.sh | |
./autogen.sh | |
./configure --disable-more-warnings \ | |
--disable-silent-rules \ | |
--disable-udev \ | |
--disable-pygobject \ | |
--with-python=no | |
make -j2 | |
sudo make install | |
- name: Fix liblastfm includes | |
run: ln -s /usr/local/include/lastfm /usr/local/include/lastfm5 | |
- name: cmake | |
env: | |
PKG_CONFIG_PATH: /usr/local/lib/pkgconfig | |
Qt5_DIR: /usr/local/opt/qt5/lib/cmake/Qt5 | |
Qt5LinguistTools_DIR: /usr/local/opt/qt5/lib/cmake/Qt5LinguistTools | |
GST_SCANNER_PATH: /usr/local/opt/gstreamer/libexec/gstreamer-1.0/gst-plugin-scanner | |
GST_PLUGIN_PATH: /usr/local/lib/gstreamer-1.0 | |
DEVELOPER_DIR: /Applications/Xcode_10.3.app/Contents/Developer | |
working-directory: bin | |
run: > | |
cmake .. | |
-Wno-dev | |
-DCMAKE_BUILD_TYPE=Release | |
-DCMAKE_OSX_ARCHITECTURES=x86_64 | |
-DGETTEXT_MSGMERGE_EXECUTABLE=/usr/local/opt/gettext/bin/msgmerge | |
-DGETTEXT_MSGFMT_EXECUTABLE=/usr/local/opt/gettext/bin/msgfmt | |
-DGETTEXT_XGETTEXT_EXECUTABLE=/usr/local/opt/gettext/bin/xgettext | |
- name: make | |
working-directory: bin | |
run: make -j2 | |
- name: Copy icon files and resources | |
working-directory: bin | |
run: make install | |
- name: Build DMG | |
working-directory: bin | |
run: make dmg | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: release_mac | |
path: bin/clementine-*.dmg |