From 95ce93b52355f58b466b9917645abcecfe7e2176 Mon Sep 17 00:00:00 2001 From: Ward Nakchbandi Date: Sat, 25 Feb 2023 13:49:56 +0300 Subject: [PATCH] add github builder --- .github/workflows/release.yml | 40 +++++++++++++++++++++ {hwdata/debian => debian}/changelog | 0 {hwdata/debian => debian}/control | 0 {hwdata/debian => debian}/copyright | 0 {hwdata/debian => debian}/files | 0 {hwdata/debian => debian}/rules | 0 {hwdata/debian => debian}/salsa-ci.yml | 0 {hwdata/debian => debian}/source/format | 0 {hwdata/debian => debian}/upstream/metadata | 0 {hwdata/debian => debian}/watch | 0 main.sh | 16 +++++++++ orig.source.txt | 1 + release.sh | 14 ++++++++ 13 files changed, 71 insertions(+) create mode 100644 .github/workflows/release.yml rename {hwdata/debian => debian}/changelog (100%) rename {hwdata/debian => debian}/control (100%) rename {hwdata/debian => debian}/copyright (100%) rename {hwdata/debian => debian}/files (100%) rename {hwdata/debian => debian}/rules (100%) rename {hwdata/debian => debian}/salsa-ci.yml (100%) rename {hwdata/debian => debian}/source/format (100%) rename {hwdata/debian => debian}/upstream/metadata (100%) rename {hwdata/debian => debian}/watch (100%) create mode 100755 main.sh create mode 100644 orig.source.txt create mode 100755 release.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..46b480c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Release + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ubuntu:22.10 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Install needed packages + run: apt update && apt install software-properties-common sudo git bc gpg gpg-agent bison build-essential ccache cpio fakeroot flex git kmod libelf-dev libncurses5-dev libssl-dev lz4 qtbase5-dev rsync schedtool wget zstd tar reprepro dpkg-sig devscripts -y + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/hwdata/debian/changelog b/debian/changelog similarity index 100% rename from hwdata/debian/changelog rename to debian/changelog diff --git a/hwdata/debian/control b/debian/control similarity index 100% rename from hwdata/debian/control rename to debian/control diff --git a/hwdata/debian/copyright b/debian/copyright similarity index 100% rename from hwdata/debian/copyright rename to debian/copyright diff --git a/hwdata/debian/files b/debian/files similarity index 100% rename from hwdata/debian/files rename to debian/files diff --git a/hwdata/debian/rules b/debian/rules similarity index 100% rename from hwdata/debian/rules rename to debian/rules diff --git a/hwdata/debian/salsa-ci.yml b/debian/salsa-ci.yml similarity index 100% rename from hwdata/debian/salsa-ci.yml rename to debian/salsa-ci.yml diff --git a/hwdata/debian/source/format b/debian/source/format similarity index 100% rename from hwdata/debian/source/format rename to debian/source/format diff --git a/hwdata/debian/upstream/metadata b/debian/upstream/metadata similarity index 100% rename from hwdata/debian/upstream/metadata rename to debian/upstream/metadata diff --git a/hwdata/debian/watch b/debian/watch similarity index 100% rename from hwdata/debian/watch rename to debian/watch diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..b879c06 --- /dev/null +++ b/main.sh @@ -0,0 +1,16 @@ +# Add dependent repositories +wget -q -O - https://ppa.pika-os.com/key.gpg | sudo apt-key add - +add-apt-repository https://ppa.pika-os.com +add-apt-repository ppa:pikaos/pika +add-apt-repository ppa:kubuntu-ppa/backports +# Clone Upstream +git https://github.com/vcrhonek/hwdata +sed -i 's#/usr/bin/env python#/usr/bin/env python3' ./* +cp -rvf ./debian ./hwdata/ +cd ./hwdata + +# Get build deps +apt-get build-dep ./ -y + +# Build binaries +echo -ne 'y' | debuild -us -uc diff --git a/orig.source.txt b/orig.source.txt new file mode 100644 index 0000000..b8f115a --- /dev/null +++ b/orig.source.txt @@ -0,0 +1 @@ +https://github.com/vcrhonek/hwdata diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..a900a64 --- /dev/null +++ b/release.sh @@ -0,0 +1,14 @@ +# Sign the packages +dpkg-sig --sign builder ./output/hwdata*.deb + +# Pull down existing ppa repo db files etc +rsync -azP --exclude '*.deb' ferreo@pika-os.com:/srv/www/pikappa/ ./output/repo + +# Remove our existing package from the repo +reprepro -V --basedir ./output/repo/ removefilter kinetic 'Package (% hwdata*)' + +# Add the new package to the repo +reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/hwdata*.deb + +# Push the updated ppa repo to the server +rsync -azP ./output/repo/ ferreo@pika-os.com:/srv/www/pikappa/