Build and Upload test package #5
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: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build packages | |
run: | | |
export $(dpkg-architecture -aarm64) | |
export CROSS_COMPILE=aarch64-linux-gnu- | |
export CC=aarch64-linux-gnu-gcc | |
export LANG=C | |
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 gcc-aarch64-linux-gnu | |
debuild --no-lintian -us -uc -b -aarm64 -Pcross -d | |
- 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: ubuntu-latest | |
if: ${{ github.event_name != 'pull_request' && github.ref_name == 'main' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
repository: ameridroid/apt-repo | |
path: repo | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y reprepro gnupg git unzip | |
- 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 | |
for package in ../*.deb; do | |
for codename in bookworm-testing trixie-testing sid-testing oracular-testing; do | |
reprepro --ignore=wrongdistribution includedeb $codename $package | |
done | |
done | |
- name: Push updated repository to main branch | |
run: | | |
cd ./repo | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "[email protected]" | |
git add -A | |
git commit -m "Update ${{ github.event.repository.name}}" || echo "No changes to commit" | |
git remote set-url origin [email protected]:ameriDroid/apt-repo.git | |
git push origin main | |