From 279f9d52fcb0693c8c9ac95d87674e7351597515 Mon Sep 17 00:00:00 2001 From: Ward Date: Thu, 2 Mar 2023 23:16:54 +0200 Subject: [PATCH] first commit --- .github/workflows/release.yml | 40 ++++++++++++++++++++++++++++++ .github/workflows/release_i386.yml | 40 ++++++++++++++++++++++++++++++ main.sh | 19 ++++++++++++++ main32.sh | 22 ++++++++++++++++ release.sh | 11 ++++++++ 5 files changed, 132 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/release_i386.yml create mode 100755 main.sh create mode 100755 main32.sh create mode 100755 release.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2cf8ce8 --- /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 dh-make -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/.github/workflows/release_i386.yml b/.github/workflows/release_i386.yml new file mode 100644 index 0000000..a83702f --- /dev/null +++ b/.github/workflows/release_i386.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Release (i386) + +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 dh-make -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: ./main32.sh + + - name: Release Package + run: ./release.sh diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..ac3eea6 --- /dev/null +++ b/main.sh @@ -0,0 +1,19 @@ +# 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 +cd ./basefiles + +# Get build deps +apt-get build-dep ./ -y + +# Build package +LOGNAME=root dh_make --createorig -y -l -p base-files_12.2ubuntu99 +dpkg-buildpackage + +# Move the debs to output +cd ../ +mkdir -p ./output diff --git a/main32.sh b/main32.sh new file mode 100755 index 0000000..d1d903b --- /dev/null +++ b/main32.sh @@ -0,0 +1,22 @@ +# Add dependent repositories +sudo dpkg --add-architecture i386 +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 +cd ./basefiles + +# Get build deps +apt-get install crossbuild-essential-i386 lib32gcc-11-dev -y +apt-get build-dep ./ -y -a i386 + +# Build package +LOGNAME=root dh_make --createorig -y -l -p base-files_12.2ubuntu99 +dpkg-buildpackage -a i386 + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..ce9e316 --- /dev/null +++ b/release.sh @@ -0,0 +1,11 @@ +# Sign the packages +dpkg-sig --sign builder ./output/*.deb + +# Pull down existing ppa repo db files etc +rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo + +# Add the new package to the repo +reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/*.deb + +# Push the updated ppa repo to the server +rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/