Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1372cacd7 | |||
| e59fba0689 | |||
| fe174ba2e0 | |||
| d8ab530fa8 | |||
| 07142eb19e | |||
| da3c0d6896 | |||
| 07d281d9f1 |
@@ -14,66 +14,85 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Extract Version
|
- name: Extract Version
|
||||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
|
run: |
|
||||||
|
RAW_VERSION="${GITHUB_REF#refs/tags/v}"
|
||||||
|
if [[ "$RAW_VERSION" == *-* ]]; then
|
||||||
|
echo "PKGVER=${RAW_VERSION%-*}" >> $GITHUB_ENV
|
||||||
|
echo "PKGREL=${RAW_VERSION##*-}" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "PKGVER=$RAW_VERSION" >> $GITHUB_ENV
|
||||||
|
echo "PKGREL=1" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
echo "FULL_TAG=$RAW_VERSION" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Generate PKGBUILD
|
- name: Generate PKGBUILD
|
||||||
run: |
|
run: |
|
||||||
TAR_URL="https://git.uyani.de/Uyanide/WallReel/archive/v${{ env.VERSION }}.tar.gz"
|
TAR_URL="https://git.uyani.de/Uyanide/WallReel/archive/v${{ env.FULL_TAG }}.tar.gz"
|
||||||
|
|
||||||
wget -qO source.tar.gz "$TAR_URL"
|
wget -qO source.tar.gz "$TAR_URL"
|
||||||
SHA256=$(sha256sum source.tar.gz | awk '{print $1}')
|
SHA256=$(sha256sum source.tar.gz | awk '{print $1}')
|
||||||
|
|
||||||
cat << EOF > PKGBUILD
|
cat << 'EOF' > PKGBUILD
|
||||||
# Maintainer: Uyanide <me@uyani.de>
|
# Maintainer: Uyanide <me@uyani.de>
|
||||||
pkgname=wallreel
|
pkgname=wallreel
|
||||||
pkgver=${{ env.VERSION }}
|
pkgver=${{ env.PKGVER }}
|
||||||
pkgrel=1
|
pkgrel=${{ env.PKGREL }}
|
||||||
pkgdesc="Choose and set desktop wallpapers with customizable themes and actions"
|
pkgdesc="Choose and set desktop wallpapers with customizable themes and actions"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="https://git.uyani.de/Uyanide/WallReel"
|
url="https://git.uyani.de/Uyanide/WallReel"
|
||||||
license=('MIT')
|
license=('MIT')
|
||||||
depends=('qt6-base' 'qt6-declarative' 'gcc-libs' 'glibc')
|
depends=('qt6-base' 'qt6-declarative' 'gcc-libs' 'glibc')
|
||||||
makedepends=('cmake' 'ninja')
|
makedepends=('cmake' 'ninja')
|
||||||
source=("\${pkgname}-\${pkgver}.tar.gz::\$TAR_URL")
|
source=("${pkgname}-${pkgver}.tar.gz::https://git.uyani.de/Uyanide/WallReel/archive/v${{ env.FULL_TAG }}.tar.gz")
|
||||||
sha256sums=('\$SHA256')
|
sha256sums=('INSERT_SHA256_HERE')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd "wallreel"
|
cd "wallreel"
|
||||||
cmake -B build -S . -G Ninja \\
|
cmake -B build -S . -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE='Release' \\
|
-DCMAKE_BUILD_TYPE='Release' \
|
||||||
-DCMAKE_INSTALL_PREFIX='/usr' \\
|
-DCMAKE_INSTALL_PREFIX='/usr' \
|
||||||
-Wno-dev
|
-Wno-dev
|
||||||
cmake --build build
|
cmake --build build
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd "wallreel"
|
cd "wallreel"
|
||||||
DESTDIR="\$pkgdir" cmake --install build
|
DESTDIR="$pkgdir" cmake --install build
|
||||||
install -Dm644 LICENSE "\$pkgdir/usr/share/licenses/\$pkgname/LICENSE"
|
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
sed -i "s/INSERT_SHA256_HERE/$SHA256/" PKGBUILD
|
||||||
|
|
||||||
- name: Build and Generate AUR Meta
|
- name: Build and Generate AUR Meta
|
||||||
run: |
|
run: |
|
||||||
docker run --rm -v ${{ github.workspace }}:/workspace archlinux:latest /bin/bash -c "
|
tar -cf - . | docker run --rm -i archlinux:latest /bin/bash -e -c "
|
||||||
pacman -Syu --noconfirm base-devel cmake ninja qt6-base qt6-declarative sudo
|
mkdir -p /workspace && cd /workspace
|
||||||
|
tar -xf -
|
||||||
|
exec 3>&1 1>&2
|
||||||
|
|
||||||
|
pacman-key --init && pacman-key --populate
|
||||||
|
pacman -Sy --noconfirm archlinux-keyring
|
||||||
|
pacman -Su --noconfirm base-devel cmake ninja qt6-base qt6-declarative sudo
|
||||||
|
|
||||||
useradd -m builduser
|
useradd -m builduser
|
||||||
chown -R builduser:builduser /workspace
|
chown -R builduser:builduser /workspace
|
||||||
echo 'builduser ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
echo 'builduser ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
|
||||||
|
|
||||||
su - builduser -c 'cd /workspace && makepkg -sf --noconfirm'
|
su - builduser -c 'cd /workspace && makepkg -sf --noconfirm'
|
||||||
su - builduser -c 'cd /workspace && makepkg --printsrcinfo > .SRCINFO'
|
su - builduser -c 'cd /workspace && makepkg --printsrcinfo' > SRCINFO.txt
|
||||||
"
|
|
||||||
|
tar -cf - *.pkg.tar.zst PKGBUILD SRCINFO.txt >&3
|
||||||
|
" | tar -xf -
|
||||||
|
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: release-artifacts
|
name: release-artifacts
|
||||||
path: |
|
path: |
|
||||||
*.pkg.tar.zst
|
*.pkg.tar.zst
|
||||||
PKGBUILD
|
PKGBUILD
|
||||||
LICENSE
|
SRCINFO.txt
|
||||||
.SRCINFO
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
name: Publish
|
name: Publish
|
||||||
@@ -81,10 +100,19 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Extract Version
|
- name: Extract Version
|
||||||
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
|
run: |
|
||||||
|
RAW_VERSION="${GITHUB_REF#refs/tags/v}"
|
||||||
|
if [[ "$RAW_VERSION" == *-* ]]; then
|
||||||
|
echo "PKGVER=${RAW_VERSION%-*}" >> $GITHUB_ENV
|
||||||
|
echo "PKGREL=${RAW_VERSION##*-}" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "PKGVER=$RAW_VERSION" >> $GITHUB_ENV
|
||||||
|
echo "PKGREL=1" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
echo "FULL_TAG=$RAW_VERSION" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Download Artifacts
|
- name: Download Artifacts
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: release-artifacts
|
name: release-artifacts
|
||||||
path: .
|
path: .
|
||||||
@@ -92,7 +120,7 @@ jobs:
|
|||||||
- name: Publish to Gitea Release
|
- name: Publish to Gitea Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
with:
|
with:
|
||||||
name: WallReel ${{ env.VERSION }}
|
name: WallReel ${{ env.FULL_TAG }}
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: "*.pkg.tar.zst"
|
files: "*.pkg.tar.zst"
|
||||||
@@ -118,9 +146,18 @@ jobs:
|
|||||||
git config --global user.email "me@uyani.de"
|
git config --global user.email "me@uyani.de"
|
||||||
|
|
||||||
git clone ssh://aur@aur.archlinux.org/wallreel.git aur-repo
|
git clone ssh://aur@aur.archlinux.org/wallreel.git aur-repo
|
||||||
cp PKGBUILD LICENSE .SRCINFO aur-repo/
|
cp PKGBUILD aur-repo/
|
||||||
|
cp SRCINFO.txt aur-repo/.SRCINFO
|
||||||
cd aur-repo
|
cd aur-repo
|
||||||
|
|
||||||
|
cat << 'EOF' > LICENSE
|
||||||
|
Copyright (C) 2026 by Uyanide me@uyani.de
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
EOF
|
||||||
|
|
||||||
git add PKGBUILD LICENSE .SRCINFO
|
git add PKGBUILD LICENSE .SRCINFO
|
||||||
git commit -m "Release v${{ env.VERSION }}"
|
git commit -m "Release v${{ env.FULL_TAG }}"
|
||||||
git push origin master
|
git push origin master
|
||||||
|
|||||||
Reference in New Issue
Block a user