Build and Upload test package #6
This file contains hidden or 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 install --no-install-recommends -y git-buildpackage debhelper devscripts gawk kmod | |
| debuild --no-lintian -us -uc -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: [ self-hosted, ubuntu-24.04, pkg ] | |
| 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 openssh-client | |
| - 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 "[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 | |