Skip to content

Instantly share code, notes, and snippets.

@kavan-mevada
Created July 1, 2020 18:15
Show Gist options
  • Save kavan-mevada/7834a1ea005a96f0e48220e3ebad84a1 to your computer and use it in GitHub Desktop.
Save kavan-mevada/7834a1ea005a96f0e48220e3ebad84a1 to your computer and use it in GitHub Desktop.
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Installing Dependencies
run: |
#-----------------------------------------
# Installing Required Tools
#-----------------------------------------
cat /etc/apt/sources.list
sudo su -c "cat > /etc/apt/sources.list << EOF
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
deb-src http://archive.canonical.com/ubuntu focal partner
EOF"
sudo apt update
upload_to_dropbox() {
sudo chmod a+x $1
echo "OAUTH_ACCESS_TOKEN=3x9Bx_kd0QAAAAAAAAAAs2i6tVmVOHL0mT1cP6ucSXxu4CWKVX5vH8SGVQ3nSFf9" > ~/.dropbox_uploader
curl -sL "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" | bash -s -- -k upload "$1" "$1"
}
make_package() {
APP_NAME=$1
APP_VERSION=$2
DEVELOPER_NAME=$3
DEVELOPER_EMAIL=$4
DEPENDANCIES=$5
sudo apt install build-essential dh-make $DEPENDANCIES
git clone $6 $APP_NAME-$APP_VERSION
[ -d "$APP_NAME-$APP_VERSION/debian" ] && rm -rf "$APP_NAME-$APP_VERSION/debian"
cd $APP_NAME-$APP_VERSION/ && tar cfJ ../$APP_NAME-$APP_VERSION.tar.xz .
DEBFULLNAME=DEVELOPER_NAME
dh_make -C=s -e $DEVELOPER_EMAIL -f ../$APP_NAME-$APP_VERSION.tar.xz -y
DEP=$(echo $DEPENDANCIES | sed -e 's/\s\+/,/g')
BDEP=$(sed "5q;d" debian/control | awk -F'Build-Depends: ' '{print $2}')
sed '5s/.*/Build-Depends: $BDEP, $DEP/' debian/control
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -rfakeroot && cd .. && ls
upload_to_dropbox ${APP_NAME}-${APP_VERSION}-1_amd64.deb
}
#make_package 'fractal' 4.2.2 'Your Name' 'yourname@someone' 'meson rustc cargo ninja-build cmake libssl-dev libdbus-1-dev libcairo2-dev libgdk-pixbuf2.0-dev libgtk-3-dev libhandy-0.0-dev libgtksourceview-4-dev libgspell-1-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev libges-1.0-dev gettext appstream libappstream-glib-dev' 'https://gitlab.gnome.org/GNOME/fractal.git'
#make_package 'contrast' 0.0.3 'Your Name' 'yourname@someone' 'meson rustc cargo ninja-build cmake libcairo2-dev libgdk-pixbuf2.0-dev libgtk-3-dev libhandy-0.0-dev gettext appstream libappstream-glib-dev' 'https://gitlab.gnome.org/World/design/contrast.git'
#make_package 'akira' 0.0.3 'Your Name' 'yourname@someone' 'meson debhelper libgtk-3-dev valac libarchive-dev libgranite-dev libjson-glib-dev libgudev-1.0-dev libevdev-dev libgtksourceview-3.0-dev libxml2-dev libglib2.0-dev libcairo2-dev libgoocanvas-2.0-dev' https://github.com/akiraux/Akira.git
#make_package 'fragments' '1.4' 'Your Name' 'yourname@someone' 'meson transmission libhandy-0.0-dev libglib2.0-dev libcairo2-dev libgtk-3-dev valac' https://gitlab.gnome.org/World/Fragments.git
#make_package 'adwaita-icon-theme' '3.37.1' 'Your Name' 'yourname@someone' 'meson sass' https://gitlab.gnome.org/GNOME/adwaita-icon-theme.git
make_package 'gnome-shell' '3.37.2' 'Your Name' 'yourname@someone' 'libsensors-config appstream asciidoc-base bash-completion dbus debhelper-compat dh-sequence-gir dh-sequence-gnome gir1.2-accountsservice-1.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomedesktop-3.0 gir1.2-gweather-3.0 gir1.2-rsvg-2.0 gnome-control-center-dev gnome-pkg-tools gnome-settings-daemon-common gobject-introspection gsettings-desktop-schemas-dev gtk-doc-tools libasound2-dev libatk-bridge2.0-dev libecal2.0-dev libedataserver1.2-dev libgcr-3-dev libgirepository1.0-dev libgjs-dev libgl1-mesa-dri libglib2.0-dev libgnome-autoar-0-dev libgnome-bluetooth-dev libgnome-desktop-3-dev libgnome-menu-3-dev libgstreamer1.0-dev libgtk-3-dev libibus-1.0-dev libjson-glib-dev libmutter-6-dev libnm-dev libpolkit-agent-1-dev libpulse-dev libsecret-1-dev libstartup-notification0-dev libsystemd-dev libx11-dev libxfixes-dev libxml2-dev mesa-common-dev libsensors5 meson pkg-config sassc' https://gitlab.gnome.org/GNOME/gnome-shell.git
build_libhandy() {
sudo apt install build-essential
sudo apt purge udev
sudo apt-get install libgnome-desktop-3-dev debhelper-compat gtk-doc-tools libgirepository1.0-dev libgladeui-dev libglib2.0-doc libgtk-3-doc libgtk-3-dev libxml2-utils meson pkg-config valac
git clone -n https://gitlab.gnome.org/GNOME/libhandy.git && cd ./libhandy
if [ "$1" ]; then git checkout $1; fi
dpkg-buildpackage -rfakeroot && cd .. && ls
zip libhandy.zip *.deb && ls
upload_to_dropbox libhandy.zip
}
#build_libhandy d90a5cc1
sudo apt install build-essential
sudo apt-get install debhelper-compat libgtk-3-dev meson pkg-config valac
git clone -n https://gitlab.gnome.org/GNOME/gtksourceview.git && cd ./gtksourceview
dpkg-buildpackage -rfakeroot && cd .. && ls
zip libhandy.zip *.deb && ls
upload_to_dropbox gtksourceview.zip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment