This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Upload test package | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- 'debian/changelog' | |
jobs: | |
build: | |
runs-on: [ self-hosted, debian-12, pkg ] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build packages | |
run: | | |
sudo apt-get update | |
sudo apt-get build-dep --no-install-recommends -y . | |
sudo apt-get install --no-install-recommends -y git-buildpackage debhelper devscripts | |
make deb | |
- name: Workaround actions | |
run: | | |
echo "artifacts_path=$(realpath ..)" >> $GITHUB_ENV | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.event.repository.name }} | |
path: | | |
${{ env.artifacts_path }}/*.deb | |
release: | |
needs: build | |
runs-on: [ self-hosted, ubuntu-24.04, pkg ] | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y reprepro gnupg git unzip openssh-client | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
repository: ameridroid/apt-repo | |
path: repo | |
- uses: actions/download-artifact@v4 | |
with: | |
name: ${{ github.event.repository.name }} | |
- name: Extract artifacts | |
run: | | |
ls *.deb | |
- name: Import GPG and ssh key | |
env: | |
GPG_KEY: ${{ secrets.GPG_PRIVATE_KEY }} | |
SSH_KEY: ${{ secrets.APT_SSH_KEY }} | |
run: | | |
echo "$GPG_KEY" | gpg --import | |
gpg --list-keys | |
mkdir -p ~/.ssh | |
echo "$SSH_KEY" > ~/.ssh/id_ed25519 | |
chmod 600 ~/.ssh/id_ed25519 | |
ssh-keyscan github.com >> ~/.ssh/known_hosts | |
- name: Upload packages to APT repository | |
run: | | |
cd ./repo/testing/ | |
for package in ../../*.deb; do | |
for codename in bookworm trixie sid oracular; do | |
reprepro --ignore=wrongdistribution includedeb $codename $package | |
done | |
done | |
- name: Push updated repository to main branch | |
run: | | |
ls | |
cd ./repo | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "actions@github.com" | |
git add -A | |
git commit -m "Update ${{ github.event.repository.name}}" || echo "No changes to commit" | |
git remote set-url origin git@github.com:ameriDroid/apt-repo.git | |
git push origin main | |