This commit is contained in:
Ward Nakchbandi (Cosmic Fusion) 2023-08-24 21:09:17 +03:00 committed by GitHub
parent d659f8bed4
commit 3a87fc613e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 77 additions and 12 deletions

44
.github/workflows/external-sys76.yml vendored Normal file
View File

@ -0,0 +1,44 @@
name: PikaOS System76 PPA Sync (External)
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ghcr.io/pikaos-linux/pika-package-container:latest
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- 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: Sync Repository
run: chmod +x ./external-sys76.sh && ./external-sys76.sh
- name: Purge cache
uses: jakejarvis/cloudflare-purge-action@master
env:
# Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}
PURGE_URLS: ${{ vars.PURGE_URLS }}

View File

@ -1,14 +1,35 @@
#! /bin/bash
set -e
# External Sys76 PPA MIRROR
mkdir -p ./output/rocm
cd ./output/rocm
# Get External Sys76 PPA pool
echo 'deb [trusted=yes] https://ppa.launchpadcontent.net/system76-dev/pre-stable/ubuntu lunar main' | sudo tee /etc/apt/sources.list.d/sys76.list
apt update -y
apt download -y
# Return to External Sys76 PPA MIRROR
# Give correct perms to Apt version checker
chmod 755 ./ppp
# Extranal System76 PPA MIRROR
mkdir -p ./output/external
cd ./output/external
# temp
apt update
apt upgrade -y
# end of temp
#Get rid of Pika sources to prevent conflicts
rm -rf /etc/apt/sources.list.d/pika*
rm -rf /etc/apt/preferences.d/*pika*
# Get Extranal System76 PPA pool
echo 'deb [arch=amd64 trusted=yes] https://ppa.launchpadcontent.net/system76-dev/pre-stable/ubuntu lunar main' | sudo tee /etc/apt/sources.list.d/external.list
apt update -y --allow-unauthenticated
PPP=$(../../ppp https://ppa.pika-os.com/dists/lunar/external/binary-amd64/Packages https://ppa.launchpadcontent.net/system76-dev/pre-stable/ubuntu/dists/lunar/main/binary-amd64/Packages.xz | tr '\n' ' ')
if [[ ! -z $PPP ]]
then
apt download $() -y
else
echo "Repos are synced"
exit 0
fi
# Return to Extranal System76 PPA MIRROR
cd ../
mkdir -p ./output
find . -name \*.deb -exec cp -vf {} ./output \;
@ -19,16 +40,16 @@ 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
# Check if the rocm component exists
if cat ./output/repo/conf/distributions | grep Components: | grep rocm
# Check if the external component exists
if cat ./output/repo/conf/distributions | grep Components: | grep external
then
true
else
sed -i "s#Components:#Components: rocm#" ./output/repo/conf/distributions
sed -i "s#Components:#Components: external#" ./output/repo/conf/distributions
fi
# Add the new package to the repo
reprepro -C rocm -V --basedir ./output/repo/ includedeb lunar ./output/*.deb
reprepro -C external -V --basedir ./output/repo/ includedeb lunar ./output/*.deb
# Push the updated ppa repo to the server
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/