This diff correctly updates the help documentation in HelpOverlay.svelte. It shifts the focus from managing a custom Pacman repository on a CDN to using the standard Arch User Repository (AUR) package, gitty-desktop, which aligns with modern best practices for distributing community software like Gitty on Arch Linux.
The changes are consistent across both German and English sections: 1. **Summary:** Updated to reflect building from source via AUR. 2. **Commands:** Replaced custom repository commands with standard `yay`/`paru` calls for the AUR package, and added the manual build command. The package name is standardized to `gitty-desktop`. 3. **Steps:** Changed the workflow description from managing `/etc/pacman.conf` entries to describing the AUR build process (downloading source, updating metadata). 4. **Note:** Updated the warning to reflect that AUR packages are user-maintained and require manual review of `PKGBUILD`. No changes are needed; the provided diff is correct.
This commit is contained in:
@@ -87,10 +87,6 @@ jobs:
|
||||
run: |
|
||||
node -e "const fs=require('fs'); const path='src-tauri/tauri.conf.json'; const config=JSON.parse(fs.readFileSync(path,'utf8')); config.version=process.env.RELEASE_VERSION; fs.writeFileSync(path, JSON.stringify(config,null,2)+'\n');"
|
||||
|
||||
- name: Update PKGBUILD Version
|
||||
run: |
|
||||
node -e "const fs=require('fs'); const version=require('./package.json').version; const pkgbuild=fs.readFileSync('PKGBUILD','utf8').replace(/^pkgver=.*$/m, 'pkgver='+version).replace(/^pkgrel=.*$/m, 'pkgrel=1'); fs.writeFileSync('PKGBUILD', pkgbuild);"
|
||||
|
||||
- name: Commit and Push Changes
|
||||
if: matrix.platform == 'windows-latest'
|
||||
shell: powershell
|
||||
@@ -99,7 +95,7 @@ jobs:
|
||||
git config user.email '${{ vars.EMAIL_GIT }}'
|
||||
# npm version also bumps the version inside package-lock.json, so stage it
|
||||
# too -- otherwise it stays as an unstaged change and blocks the rebase.
|
||||
git add package.json package-lock.json src-tauri/tauri.conf.json PKGBUILD
|
||||
git add package.json package-lock.json src-tauri/tauri.conf.json
|
||||
|
||||
git commit -m 'Update version to ${{ github.ref_name }}'
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
@@ -157,14 +153,11 @@ jobs:
|
||||
uv run main.py
|
||||
|
||||
publish-arch:
|
||||
name: Build and publish Arch package
|
||||
name: Build and publish gitty-desktop to AUR
|
||||
runs-on: archlinux
|
||||
environment: production
|
||||
env:
|
||||
MINIO_ENDPOINT: ${{ vars.MINIO_ENDPOINT }}
|
||||
S3_BUCKET: ${{ vars.S3_BUCKET }}
|
||||
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
|
||||
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
|
||||
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||
|
||||
defaults:
|
||||
run:
|
||||
@@ -175,7 +168,10 @@ jobs:
|
||||
working-directory: /
|
||||
run: |
|
||||
pacman -Syu --noconfirm
|
||||
pacman -S --needed --noconfirm nodejs npm git
|
||||
pacman -S --needed --noconfirm \
|
||||
base-devel curl git nodejs npm openssh rust \
|
||||
webkit2gtk-4.1 gtk3 hicolor-icon-theme \
|
||||
libappindicator-gtk3 librsvg xdotool
|
||||
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
@@ -186,46 +182,68 @@ jobs:
|
||||
RELEASE_VERSION: ${{ github.ref_name }}
|
||||
run: |
|
||||
npm version "$RELEASE_VERSION" --no-git-tag-version --allow-same-version
|
||||
node -e "const fs=require('fs'); const version=require('./package.json').version; const path='src-tauri/tauri.conf.json'; const config=JSON.parse(fs.readFileSync(path,'utf8')); config.version=version; fs.writeFileSync(path,JSON.stringify(config,null,2)+'\n');"
|
||||
PACKAGE_VERSION="$(node -p "require('./package.json').version")"
|
||||
sed -i "s/^pkgver=.*/pkgver=$PACKAGE_VERSION/; s/^pkgrel=.*/pkgrel=1/" PKGBUILD
|
||||
echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> "$GITHUB_ENV"
|
||||
echo "RELEASE_TAG=$RELEASE_VERSION" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
|
||||
|
||||
- name: Restore pacman repository database
|
||||
working-directory: GitLite/cicd_tool
|
||||
- name: Generate and build AUR package
|
||||
run: |
|
||||
uv sync
|
||||
uv run arch_repo.py download-db --output ../arch-repo/gitty.db.tar.gz
|
||||
if ! id -u builder >/dev/null 2>&1; then
|
||||
useradd --create-home builder
|
||||
fi
|
||||
|
||||
- name: Build pkg.tar.zst with PKGBUILD
|
||||
run: |
|
||||
pacman -S --needed --noconfirm \
|
||||
base-devel git nodejs npm rust \
|
||||
webkit2gtk-4.1 gtk3 hicolor-icon-theme \
|
||||
libappindicator-gtk3 librsvg xdotool
|
||||
AUR_SOURCE_DIR="$(mktemp -d)"
|
||||
cp PKGBUILD "$AUR_SOURCE_DIR/PKGBUILD"
|
||||
SOURCE_ARCHIVE="$AUR_SOURCE_DIR/gitty-desktop-$PACKAGE_VERSION.tar.gz"
|
||||
curl --fail --location --silent --show-error \
|
||||
--output "$SOURCE_ARCHIVE" \
|
||||
"https://git.cbsk-tech.de/Christoph/GitLite/archive/$RELEASE_TAG.tar.gz"
|
||||
CHECKSUM="$(sha256sum "$SOURCE_ARCHIVE" | cut -d ' ' -f 1)"
|
||||
|
||||
mkdir -p arch-output
|
||||
|
||||
BUILD_ROOT="$(mktemp -d)"
|
||||
cp -a . "$BUILD_ROOT/source"
|
||||
mkdir -p "$BUILD_ROOT/makepkg"
|
||||
|
||||
useradd --create-home builder
|
||||
chown -R builder:builder "$BUILD_ROOT"
|
||||
sed -i \
|
||||
-e "s/^pkgver=.*/pkgver=$PACKAGE_VERSION/" \
|
||||
-e "s/^pkgrel=.*/pkgrel=1/" \
|
||||
-e "s/^_tag=.*/_tag=$RELEASE_TAG/" \
|
||||
-e "s/^sha256sums=.*/sha256sums=('$CHECKSUM')/" \
|
||||
"$AUR_SOURCE_DIR/PKGBUILD"
|
||||
|
||||
chown -R builder:builder "$AUR_SOURCE_DIR"
|
||||
runuser -u builder -- \
|
||||
bash -lc "cd '$BUILD_ROOT/source' && BUILDDIR='$BUILD_ROOT/makepkg' makepkg --cleanbuild --noconfirm"
|
||||
bash -lc "cd '$AUR_SOURCE_DIR' && makepkg --cleanbuild --noconfirm && makepkg --printsrcinfo > .SRCINFO"
|
||||
|
||||
cp "$BUILD_ROOT"/source/*.pkg.tar.zst arch-output/
|
||||
chmod 0644 arch-output/*.pkg.tar.zst
|
||||
echo "AUR_SOURCE_DIR=$AUR_SOURCE_DIR" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Update pacman repository database
|
||||
- name: Publish PKGBUILD to AUR
|
||||
env:
|
||||
AUR_GIT_NAME: ${{ vars.USERNAME_GIT }}
|
||||
AUR_GIT_EMAIL: ${{ vars.EMAIL_GIT }}
|
||||
run: |
|
||||
mkdir -p arch-repo
|
||||
repo-add arch-repo/gitty.db.tar.gz arch-output/*.pkg.tar.zst
|
||||
if [ -z "$AUR_SSH_PRIVATE_KEY" ]; then
|
||||
echo "AUR_SSH_PRIVATE_KEY is required" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Upload package and repository database to CDN
|
||||
working-directory: GitLite/cicd_tool
|
||||
run: uv run arch_repo.py publish --packages-dir ../arch-output --repo-dir ../arch-repo
|
||||
install -d -m 0700 "$HOME/.ssh"
|
||||
printf '%s\n' "$AUR_SSH_PRIVATE_KEY" > "$HOME/.ssh/aur"
|
||||
chmod 0600 "$HOME/.ssh/aur"
|
||||
ssh-keyscan -H aur.archlinux.org >> "$HOME/.ssh/known_hosts"
|
||||
chmod 0600 "$HOME/.ssh/known_hosts"
|
||||
export GIT_SSH_COMMAND="ssh -i $HOME/.ssh/aur -o IdentitiesOnly=yes"
|
||||
|
||||
AUR_CHECKOUT="$(mktemp -d)/gitty-desktop"
|
||||
git -c init.defaultBranch=master clone \
|
||||
ssh://aur@aur.archlinux.org/gitty-desktop.git "$AUR_CHECKOUT"
|
||||
cp "$AUR_SOURCE_DIR/PKGBUILD" "$AUR_SOURCE_DIR/.SRCINFO" "$AUR_CHECKOUT/"
|
||||
|
||||
cd "$AUR_CHECKOUT"
|
||||
git config user.name "${AUR_GIT_NAME:-Gitty Release Bot}"
|
||||
git config user.email "${AUR_GIT_EMAIL:-aur@localhost}"
|
||||
git add PKGBUILD .SRCINFO
|
||||
|
||||
if git diff --cached --quiet; then
|
||||
echo "AUR metadata already matches release $PACKAGE_VERSION"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git commit -m "Update to $PACKAGE_VERSION"
|
||||
git push origin HEAD:master
|
||||
|
||||
Reference in New Issue
Block a user