You've already forked repository
mirror of
https://github.com/armbian/repository.git
synced 2026-01-06 10:35:55 -08:00
Initial commit
This commit is contained in:
6
.github/dependabot.yml
vendored
Normal file
6
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
120
.github/workflows/3rdparty.yml
vendored
Normal file
120
.github/workflows/3rdparty.yml
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
name: Sync 3rd party packages
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
|
||||
start:
|
||||
runs-on: ubuntu-latest
|
||||
name: "Start"
|
||||
outputs:
|
||||
matrix: ${{steps.lists.outputs.matrix}}
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: Build list
|
||||
id: lists
|
||||
run: |
|
||||
|
||||
MATRIX=$(
|
||||
while IFS="," read -r rec_column1 rec_column2 rec_column3 rec_column4
|
||||
do
|
||||
echo "$rec_column1:$rec_column3"
|
||||
done < <(tail -n +2 projects.csv)
|
||||
)
|
||||
echo ::set-output name=matrix::$(for x in $(echo "${MATRIX}"); do echo $x; done|jq -cnR '[inputs | select(length>0)]' | jq)
|
||||
|
||||
download:
|
||||
needs: [start]
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node: ${{fromJson(needs.start.outputs.matrix)}}
|
||||
|
||||
name: "Mirroring"
|
||||
runs-on: [Ubuntu-latest]
|
||||
steps:
|
||||
|
||||
# - name: Install SSH key for storage
|
||||
# uses: shimataro/ssh-key-action@v2
|
||||
# with:
|
||||
# key: ${{ secrets.KEY_TORRENTS }}
|
||||
# known_hosts: ${{ secrets.KNOWN_HOSTS_UPLOAD }}
|
||||
# if_key_exists: replace
|
||||
|
||||
# - name: Import GPG key
|
||||
|
||||
# uses: crazy-max/ghaction-import-gpg@v5
|
||||
# with:
|
||||
# gpg_private_key: ${{ secrets.GPG_KEY1 }}
|
||||
# passphrase: ${{ secrets.GPG_PASSPHRASE1 }}
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: Install Aptly
|
||||
run: |
|
||||
|
||||
wget https://github.com/aptly-dev/aptly/releases/download/v1.5.0/aptly_1.5.0_amd64.deb
|
||||
sudo dpkg -i aptly_1.5.0_amd64.deb
|
||||
sudo rm aptly_1.5.0_amd64.deb
|
||||
|
||||
- name: Install keys
|
||||
run: |
|
||||
|
||||
find keys/ -type f -name "*.gpg" -exec gpg --import --no-default-keyring --keyring trustedkeys.gpg "{}" \;
|
||||
|
||||
- name: Download
|
||||
run: |
|
||||
|
||||
|
||||
|
||||
PROJECT=$(echo ${{ matrix.node }} | cut -d":" -f1)
|
||||
RELEASE=$(echo ${{ matrix.node }} | cut -d":" -f2)
|
||||
URL=$(grep "$PROJECT,[^,]\+,$RELEASE," projects.csv | cut -d"," -f2)
|
||||
TARGET=$(grep "$PROJECT,[^,]\+,$RELEASE," projects.csv | cut -d"," -f4)
|
||||
METHOD=$(grep "$PROJECT,[^,]\+,$RELEASE," projects.csv | cut -d"," -f5)
|
||||
|
||||
# recreate folder structure as we are uploading to our system
|
||||
mkdir -p output/debs/$RELEASE
|
||||
mkdir -p output/debs/extra/$RELEASE-utils
|
||||
mkdir -p output/debs/extra/$RELEASE-desktop
|
||||
|
||||
if [[ ${METHOD} == gh ]]; then
|
||||
gh release download -p '*.deb' --repo ${URL}
|
||||
if [[ ${TARGET} == main ]]; then
|
||||
mv *.deb output/debs/${RELEASE}/
|
||||
else
|
||||
mv *.deb output/debs/extra/${RELEASE}-${TARGET}/
|
||||
fi
|
||||
else
|
||||
aptly mirror create ${PROJECT}-${RELEASE} ${URL} ${RELEASE} main
|
||||
mkdir -p ${HOME}/output/debs/extra/${{ matrix.target }}-utils
|
||||
aptly mirror update ${{ matrix.project }}-${{ matrix.target }}
|
||||
aptly snapshot create ${{ matrix.project }}-${{ matrix.target }} from mirror ${{ matrix.project }}-${{ matrix.target }}
|
||||
aptly publish -batch=true -passphrase=${{ secrets.GPG_PASSPHRASE1 }} snapshot ${{ matrix.project }}-${{ matrix.target }}
|
||||
find /home/runner/.aptly/public/ -type f -exec cp {} ${HOME}/output/debs/extra/${{ matrix.target }}-utils \;
|
||||
fi
|
||||
|
||||
- name: Deploy to server
|
||||
run: |
|
||||
|
||||
sudo apt-get -y -qq install lftp
|
||||
#if [[ -d /home/runner/.aptly/public/ ]]; then
|
||||
#lftp -u upload, -e "set net:timeout 4;set net:max-retries 6;mirror --Remove-source-files -R --no-empty-dirs --parallel=8 --no-perms ${HOME}/output/debs/ debs-beta/ ;bye" sftp://users.armbian.com
|
||||
#fi
|
||||
|
||||
stop:
|
||||
|
||||
name: Stop
|
||||
needs: [start,download]
|
||||
runs-on: [ubuntu-latest]
|
||||
steps:
|
||||
- run: |
|
||||
echo "Start"
|
||||
1
LICENSE.md
Normal file
1
LICENSE.md
Normal file
@@ -0,0 +1 @@
|
||||
Test
|
||||
BIN
keys/githubcli.gpg
Normal file
BIN
keys/githubcli.gpg
Normal file
Binary file not shown.
1
keys/githubcli.source
Normal file
1
keys/githubcli.source
Normal file
@@ -0,0 +1 @@
|
||||
deb [signed-by=/usr/share/keyrings/githubcli.gpg] http://cli.github.com/packages stable main
|
||||
BIN
keys/oibaf.gpg
Normal file
BIN
keys/oibaf.gpg
Normal file
Binary file not shown.
1
keys/oibaf.source
Normal file
1
keys/oibaf.source
Normal file
@@ -0,0 +1 @@
|
||||
deb [signed-by=/usr/share/keyrings/oibaf.gpg] http://ppa.launchpadcontent.net/oibaf/graphics-drivers/ubuntu/ jammy main
|
||||
8
projects.csv
Normal file
8
projects.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
Project,URL,Release,Repository key,Method
|
||||
zfs,http://ppa.launchpad.net/jonathonf/zfs/ubuntu,focal,utils,aptly
|
||||
zfs,http://ppa.launchpad.net/jonathonf/zfs/ubuntu,jammy,utils,aptly
|
||||
nala,http://deb.volian.org/volian scar,jammy,utils,aptly
|
||||
nala,http://deb.volian.org/volian scar,bullseye,utils,aptly
|
||||
nala,http://deb.volian.org/volian scar,kinetic,utils,aptly
|
||||
aptly,https://github.com/aptly-dev/aptly,jammy,utils,gh
|
||||
aptly,https://github.com/aptly-dev/aptly,kinetic,utils,gh
|
||||
|
Reference in New Issue
Block a user