This commit is contained in:
parent
d659f8bed4
commit
3a87fc613e
44
.github/workflows/external-sys76.yml
vendored
Normal file
44
.github/workflows/external-sys76.yml
vendored
Normal 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 }}
|
||||||
|
|
@ -1,14 +1,35 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# External Sys76 PPA MIRROR
|
# Give correct perms to Apt version checker
|
||||||
mkdir -p ./output/rocm
|
chmod 755 ./ppp
|
||||||
cd ./output/rocm
|
|
||||||
# Get External Sys76 PPA pool
|
# Extranal System76 PPA MIRROR
|
||||||
echo 'deb [trusted=yes] https://ppa.launchpadcontent.net/system76-dev/pre-stable/ubuntu lunar main' | sudo tee /etc/apt/sources.list.d/sys76.list
|
mkdir -p ./output/external
|
||||||
apt update -y
|
cd ./output/external
|
||||||
apt download -y
|
|
||||||
# Return to External Sys76 PPA MIRROR
|
# 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 ../
|
cd ../
|
||||||
mkdir -p ./output
|
mkdir -p ./output
|
||||||
find . -name \*.deb -exec cp -vf {} ./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
|
# Pull down existing ppa repo db files etc
|
||||||
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo
|
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo
|
||||||
|
|
||||||
# Check if the rocm component exists
|
# Check if the external component exists
|
||||||
if cat ./output/repo/conf/distributions | grep Components: | grep rocm
|
if cat ./output/repo/conf/distributions | grep Components: | grep external
|
||||||
then
|
then
|
||||||
true
|
true
|
||||||
else
|
else
|
||||||
sed -i "s#Components:#Components: rocm#" ./output/repo/conf/distributions
|
sed -i "s#Components:#Components: external#" ./output/repo/conf/distributions
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add the new package to the repo
|
# 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
|
# Push the updated ppa repo to the server
|
||||||
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/
|
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/
|
||||||
|
Loading…
Reference in New Issue
Block a user