First try
Release Alpine apk for ARM64v8 / compilation-amd64 (push) Failing after 4m29s Details

This commit is contained in:
ITmodulo 2024-01-27 16:47:19 +01:00
parent a54e518191
commit 6a5823c008
3 changed files with 105 additions and 2 deletions

View File

@ -0,0 +1,41 @@
name: 'Release Alpine apk for ARM64v8'
on:
push:
branches:
- release
jobs:
compilation-amd64:
runs-on: arm64v8_alpine-latest
steps:
- name: Update environment
shell: sh
run: apk -U upgrade
- name: Install needed tools
shell: sh
run: apk add bash git wget curl nodejs sshfs alpine-sdk abuild
- name: Checkout
uses: actions/checkout@v3
- name: Compile in sequence and upload
run: |
echo "user_allow_other" >> /etc/fuse.conf
adduser runner -u 1001 -D -s /bin/bash -G wheel
addgroup runner abuild
chmod 660 /etc/sudoers
echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
chmod 440 /etc/sudoers
mkdir -p /var/cache/distfiles
chmod a+w /var/cache/distfiles
su - runner -c 'mkdir ~/.abuild'
echo "${{ secrets.REPO_PRIVKEY }}" > /home/runner/.abuild/"${{ secrets.REPO_PRIVKEY_FILENAME }}" && chown runner:runner /home/runner/.abuild/"${{ secrets.REPO_PRIVKEY_FILENAME }}"
mv srcpkgs /home/runner && chown -R runner:runner /home/runner/srcpkgs
su - runner -c 'cd srcpkgs; for i in $(ls ./ ); do cd $i && abuild -r; done'
su - runner -c 'mkdir hole'
echo "${{ secrets.REPO_LOGIN }}" > /home/runner/id_ecdsa && chown runner:runner /home/runner/id_ecdsa && chmod 600 /home/runner/id_ecdsa
su - runner -c 'sshfs -p "${{ secrets.LOGIN_PORT }}" -o StrictHostKeyChecking=accept-new -o default_permissions,allow_other -o IdentityFile=/home/runner/id_ecdsa "${{ secrets.SERVER_LOGIN_AND_ADDRESS }}":"${{ secrets.SERVER_REPO_PATH }}" /home/runner/hole'
su - runner -c 'ls -lah /home/runner/hole/latest-stable/main/aarch64/'
su - runner -c 'rm -rf hole/latest-stable/main/aarch64/*'
su - runner -c 'cp packages/srcpkgs/aarch64/*.apk hole/latest-stable/main/aarch64/'
su - runner -c 'apk index -vU -o hole/latest-stable/main/aarch64/APKINDEX.tar.gz *.apk'
su - runner -c 'abuild-sign -k /home/runner/.abuild/"${{ secrets.REPO_PRIVKEY_FILENAME }}" hole/latest-stable/main/aarch64/APKINDEX.tar.gz'

View File

@ -1,3 +1,33 @@
# linux_alpine # Public custom Alpine Linux repo
Template files and build system (public logs available) for https://static.itmodulo.eu/dl/repo/alpine Template files and build system (public logs available) for https://static.itmodulo.eu/dl/repo/alpine
# Disclaimer
1. Don't use this repo if you don't know what you are doing. It may break your great Alpine Linux experience
2. If you want to upstream, go ahead but don't engage me -> You maintain. Although You are allowed reference as working example without restrictions.
3. Builds here will be only **musl-aarch64** for now, altough I may consider other variants _if you donate me every month_
4. Maintained in mind with postmarketOS and Alpine latest-stable
5. I may rename/remove package without prior notification.
# Why
## To maintain own repo
Official repo is good quality however:
- It simply lacks some packages I need.
- I don't use flatpak for personal reason (mostly size of packages and sdks based mostly on ubuntu I don't really like)
- Instead flatpaks I would use AppImages that are not so easy to update in large quantity and don't work on Alpine as linked against glibc
## To use repo actions for builds
- It's easy to maintain
- Public build logs are more trustworthy (for potential other users)
- Clear and simple repo structure
# Builds
- Built on docker with actions on this repo
- Signed with private key
- Triggered on push to release branch
- Release branch always compile
- New packages tested on other branches
# LICENSE
Actions workflow file and template files are licensed under BSD-3-Clause-no-military
This should not impact the original source code licenses

View File

@ -0,0 +1,32 @@
# Contributor: ITmodulo <itmodulo@disroot.org>
# Maintainer: ITmodulo <itmodulo@disroot.org>
pkgname=supersonic-desktop
pkgver=0.8.2
pkgrel=0
pkgdesc="Full-featured, mpv-based music player for Subsonic and Jellyfin servers"
url="https://github.com/dweymouth/supersonic"
license="GPL-3.0-or-later"
arch="aarch64"
makedepends="go gcc g++ mpv-dev libayatana-appindicator-dev libsecret-dev glib-dev libx11-dev"
depends="libayatana-appindicator libsecret"
source="$pkgname-$pkgver.tar.gz::https://github.com/dweymouth/supersonic/archive/refs/tags/v$pkgver.tar.gz"
build() {
cd "supersonic-$pkgver"
go build -ldflags="-s -w" -o bin/$pkgname
}
check() {
go test ./...
}
package() {
cd "src/supersonic-$pkgver"
install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
install -Dm644 res/appicon.png "$pkgdir"/usr/share/pixmaps/supersonic-desktop.png
install -Dm644 res/supersonic-desktop.desktop "$pkgdir"/usr/share/applications/supersonic-desktop.desktop
}
sha512sums="
72d1913905c0ba9ce048225efb4ce86e0af62b8243b485889c568d039ee219f2029399b1f73b2d40ea9cd62d3b91155a7c7e090bba40c651e7dbaf56c384c53f supersonic-desktop-0.8.2.tar.gz
"