-
Notifications
You must be signed in to change notification settings - Fork 0
75 lines (65 loc) · 6.71 KB
/
makedeb.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
name: build-deb
on:
workflow_dispatch:
# cancel already running builds of the same branch or pull request
concurrency:
group: ci-${{ github.head_ref }} || concat(${{ github.ref }}
cancel-in-progress: true
env:
CONFIGURE_FLAGS: --disable-silent-rules --prefix=/usr
jobs:
linux:
name: Linux Build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- name: Checkout source
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install Dependencies
run: |
echo "Running apt update..."
sudo apt update
sudo apt dist-upgrade
echo "Installing dependencies with apt..."
DEBIAN_FRONTEND=noninteractive sudo apt install -y alsa-topology-conf alsa-ucm-conf aspell aspell-en at-spi2-core bubblewrap dbus-user-session dconf-gsettings-backend dconf-service dictionaries-common dmsetup emacsen-common enchant-2 fuse3 geany geany-common gettext gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-dazzle-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gtk-3.0 gir1.2-harfbuzz-0.0 gir1.2-javascriptcoregtk-4.1 gir1.2-json-1.0 gir1.2-pango-1.0 gir1.2-polkit-1.0 gir1.2-soup-3.0 gir1.2-webkit2-4.1 glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas gstreamer1.0-gl gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x hunspell-en-us icu-devtools libaa1 libarchive-tools libargon2-1 libasound2 libasound2-data libaspell15 libasyncns0 libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-0 libatspi2.0-dev libavc1394-0 libblkid-dev libboost-dev libboost1.74-dev libbrotli-dev libcaca0 libcairo-script-interpreter2 libcairo2-dev libcanberra0 libcdparanoia0 libcmark-gfm-dev libcmark-gfm-extensions-dev libcmark-gfm-extensions0.29.0.gfm.3 libcmark-gfm0.29.0.gfm.3 libcolord2 libcryptsetup12 libdatrie-dev libdazzle-1.0-0 libdazzle-1.0-dev libdazzle-common libdbus-1-dev libdconf1 libdeflate-dev libdevmapper1.02.1 libdv4 libegl-dev libegl-mesa0 libegl1 libegl1-mesa-dev libenchant-2-2 libepoxy-dev libepoxy0 libevdev2 libexpat1-dev libffi-dev libflac8 libfontconfig-dev libfontconfig1-dev libfreetype-dev libfreetype6-dev libfribidi-dev libfuse3-3 libgdk-pixbuf-2.0-dev libgirepository-1.0-1 libgl-dev libgles-dev libgles1 libgles2 libglib2.0-bin libglib2.0-dev libglib2.0-dev-bin libglvnd-core-dev libglvnd-dev libglx-dev libgraphene-1.0-0 libgraphite2-dev libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-3-dev libgudev-1.0-0 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libhunspell-1.7-0 libhyphen0 libice-dev libice6 libicu-dev libidn12 libiec61883-0 libip4tc2 libjack-jackd2-0 libjavascriptcoregtk-4.1-0 libjavascriptcoregtk-4.1-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjson-glib-1.0-0 libjson-glib-1.0-common libjson-glib-dev libkmod2 liblcms2-2 liblzma-dev libmanette-0.2-0 libmount-dev libmp3lame0 libmpg123-0 libnghttp2-dev libnss-systemd libogg0 libopengl-dev libopengl0 libopenjp2-7 libopus0 liborc-0.4-0 libpam-systemd libpango1.0-dev libpangoxft-1.0-0 libpcre16-3 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules libpixman-1-dev libpng-dev libpng-tools libpodofo-dev libpodofo0.9.7 libpolkit-agent-1-0 libpolkit-gobject-1-0 libpolkit-gobject-1-dev libproxy1v5 libpsl-dev libpthread-stubs0-dev libpulse0 libraw1394-11 libsamplerate0 libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libshout3 libslang2 libsm-dev libsm6 libsndfile1 libsoup-3.0-0 libsoup-3.0-common libsoup-3.0-dev libsoup2.4-1 libsoup2.4-common libspa-0.2-modules libspeex1 libsqlite3-dev libssl-dev libsysprof-4 libsysprof-4-dev libsysprof-ui-4 libtag1v5 libtag1v5-vanilla libtdb1 libtext-iconv-perl libthai-dev libtheora0 libtiff-dev libtiffxx5 libtwolame0 libv4l-0 libv4lconvert0 libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx7 libwavpack1 libwayland-bin libwayland-cursor0 libwayland-dev libwayland-egl1 libwebkit2gtk-4.1-0 libwebkit2gtk-4.1-dev libwebpdemux2 libwebrtc-audio-processing1 libwoff1 libwpe-1.0-1 libwpebackend-fdo-1.0-1 libx11-dev libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxft2 libxi-dev libxinerama-dev libxkbcommon-dev libxkbcommon0 libxrandr-dev libxrender-dev libxslt1.1 libxtst-dev libxtst6 libxv1 meson networkd-dispatcher pango1.0-tools pipewire pipewire-bin pipewire-media-session pkexec pkg-config policykit-1 polkitd python3-dbus python3-gi rtkit session-migration sound-theme-freedesktop systemd systemd-sysv systemd-timesyncd uuid-dev wayland-protocols x11-common x11proto-dev xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-gtk xkb-data xorg-sgml-doctools xtrans-dev zlib1g-dev zstd
- name: Install makedeb
run: |
echo "Installing makedeb..."
curl -Ss -qgb "" -fLC - --retry 3 --retry-delay 3 -o makedeb.deb \
"https://github.com/makedeb/makedeb/releases/download/v16.1.0-beta1/makedeb-beta_16.1.0-beta1_amd64_focal.deb"
DEBIAN_FRONTEND=noninteractive sudo dpkg -i makedeb.deb
- name: Build deb package
working-directory: tools
run: |
echo "Building deb package..."
_pkgver=$(git describe --long --tags --abbrev=7 --exclude='*[a-zA-Z][a-zA-Z]*' \
| sed -E 's/^[^0-9]*//;s/([^-]*-g)/r\1/;s/-/./g')
sed -E -e 's/^\s*pkgver=.*$/pkgver='"${_pkgver}"'/' -i PKGBUILD.debian
DEBIAN_FRONTEND=noninteractive makedeb -si --no-color --no-confirm --pass-env -p PKGBUILD.debian
ARTIFACT_NAME="$(ls -1 geany-plugin-preview*.deb | sort -rV | head -1)"
echo "Artifact name is '$ARTIFACT_NAME'."
echo "Recording artifact name."
echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $GITHUB_ENV
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: ${{env.ARTIFACT_NAME}}
path: ${{github.workspace}}/tools/${{env.ARTIFACT_NAME}}
- name: Prepare for publishing
if: ${{github.ref_type == 'tag' || github.ref_name == 'main'}}
run: |
echo "Setting publish name."
PUBLISH_NAME="GeanyPreview_${REF_NAME_FILTERED}_${{matrix.build_type}}"
echo "Publish name is '$PUBLISH_NAME'."
echo "Recording publish name."
echo "PUBLISH_NAME=$PUBLISH_NAME" >> $GITHUB_ENV
- name: Publish artifacts
uses: softprops/action-gh-release@v1
if: ${{github.ref_type == 'tag' || github.ref_name == 'dev'}}
with:
tag_name: test-actions
files: |
${{env.ARTIFACT_NAME}}.AppImage