77
88env :
99 REPO_NAME : qcom
10- BUILD_DIR : ${{ github.workspace }}/ build
11- REPO_DIR : ${{ github.workspace }}/ repo
10+ BUILD_DIR : build
11+ REPO_DIR : repo
1212
1313jobs :
1414 build-packages :
3636 ' sensors/iio-sensor-proxy' ,
3737 ' sensors/hexagonrpcd' ,
3838 ' sensors/libssc' ,
39- ' tinyalsa-git' ,
40- ' chromium'
39+ ' tinyalsa-git'
4140 ]
4241
4342 steps :
@@ -86,30 +85,21 @@ jobs:
8685 cp ./* /home/alarm/
8786 ${{ env.BUILD_ALARM_SH }} '(makepkg --cleanbuild --syncdeps --noconfirm)'
8887
89- - name : Sign package
90- working-directory : ${{ github.workspace }}/${{ matrix.package }}
91- run : |
92- ${{ env.BUILD_ALARM_SH }} '
93- for pkg in /home/alarm/*.pkg.tar.*; do
94- [[ -f "$pkg" ]] || continue
95- echo "Signing $pkg ..."
96- gpg --batch --yes --pinentry-mode loopback \
97- --passphrase ${{ secrets.GPG_PASSPHRASE }}\
98- --detach-sign --no-armor "$pkg"
99- done'
100-
10188 - name : Upload artifacts
10289 uses : actions/upload-artifact@v4
10390 with :
10491 name : ${{ env.RELEASE }}-pkg
10592 path : |
10693 /home/alarm/*.pkg.tar.*
107- /home/alarm/*.sig
10894
10995 create-repository :
11096 name : Create Repository
11197 runs-on : ubuntu-22.04-arm
11298 needs : build-packages
99+ container : danhunsaker/archlinuxarm
100+ env :
101+ BUILD_ALARM_SH : ' sudo su - alarm -c'
102+
113103 steps :
114104 - name : Download all artifacts
115105 uses : actions/download-artifact@v4
@@ -119,25 +109,57 @@ jobs:
119109 - name : Setup repository directory
120110 run : |
121111 mkdir -p ${{ env.REPO_DIR }}
122- find ${{ env.BUILD_DIR }} -name '*.pkg.tar.*' -exec cp {} ${{ env.REPO_DIR }} \;
123- find ${{ env.BUILD_DIR }} -name '*.sig' -exec cp {} ${{ env.REPO_DIR }} \;
124-
112+ pacman -Syyu --noconfirm --ask=4 arch-install-scripts cloud-guest-utils sudo binutils fakeroot base-devel git bc distcc
113+ useradd -m alarm
114+ passwd -d alarm
115+ usermod -aG wheel alarm
116+ echo 'alarm ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
117+ mkdir /home/alarm/ -p
118+ chown alarm /home/alarm/
119+ find ./ -mindepth 2 -name '*.pkg.tar.*' -exec cp {} ${{ env.REPO_DIR }} \;
120+ - name : Setup GPG
121+ run : |
122+ # Import the GPG private key
123+ ${{ env.BUILD_ALARM_SH }} 'echo "${{ secrets.GPG_PRIVATE_KEY }}" | gpg --import --passphrase "${{ secrets.GPG_PASSPHRASE }}" --pinentry-mode loopback'
124+ # Configure the GPG agent to use the passphrase
125+ ${{ env.BUILD_ALARM_SH }} 'echo "default-cache-ttl 18000" > ~/.gnupg/gpg-agent.conf'
126+ ${{ env.BUILD_ALARM_SH }} 'echo "max-cache-ttl 18000" >> ~/.gnupg/gpg-agent.conf'
127+ ${{ env.BUILD_ALARM_SH }} 'gpgconf --reload gpg-agent'
128+ - name : Sign package
129+ run : |
130+ cp ${{ env.REPO_DIR }}/* /home/alarm/ -r
131+ chown -R alarm:alarm /home/alarm/*
132+ ${{ env.BUILD_ALARM_SH }} '
133+ for pkg in /home/alarm/*.pkg.tar.*; do
134+ [[ -f "$pkg" ]] || continue
135+ echo "Signing $pkg ..."
136+ gpg --batch --yes --pinentry-mode loopback \
137+ --passphrase ${{ secrets.GPG_PASSPHRASE }}\
138+ --detach-sign --no-armor "$pkg"
139+ done'
125140 - name : Generate repository database
126- working-directory : ${{ env.REPO_DIR }}
127141 run : |
128- repo-add -s -v ${{ env.REPO_NAME }}.db.tar.gz *.pkg.tar.zst
129- ln -s ${{ env.REPO_NAME }}.db.tar.gz ${{ env.REPO_NAME }}.db
130- ln -s ${{ env.REPO_NAME }}.files.tar.gz ${{ env.REPO_NAME }}.files
142+ ${{ env.BUILD_ALARM_SH }} 'repo-add -s -v -n ${{ env.REPO_NAME }}.db.tar.xz *.pkg.tar.xz'
131143
132144 - name : Upload repository
133145 uses : actions/upload-artifact@v4
134146 with :
135147 name : ${{ env.REPO_NAME }}
136- path : ${{ env.REPO_DIR }}/*
148+ path : /home/alarm/*
149+
150+ - name : Set variables
151+ run : |
152+ echo RELEASE=$(date +%Y\/%m\/%d) >> $GITHUB_ENV
153+ shell : bash
137154
138- # - name: Deploy to GitHub Pages
139- # if: github.ref == 'refs/heads/main'
140- # uses: peaceiris/actions-gh-pages@v3
141- # with:
142- # github_token: ${{ secrets.GITHUB_TOKEN }}
143- # publish_dir: ${{ env.REPO_DIR }}
155+ - name : create release
156+ uses : softprops/action-gh-release@v2
157+ env :
158+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
159+ with :
160+ body : ${{ env.RELEASE }}
161+ tag_name : ${{ env.RELEASE }}
162+ draft : false
163+ prerelease : false
164+ files : |
165+ ${{ env.REPO_DIR }}
0 commit comments