Skip to content

Simplify installation instructions in README #13

Simplify installation instructions in README

Simplify installation instructions in README #13

Workflow file for this run

name: Release and Publish
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
version:
description: 'Version to release (e.g., 0.4.2)'
required: true
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Extract version from tag
id: version
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
name: ${{ steps.version.outputs.VERSION }}
generate_release_notes: true
draft: false
prerelease: false
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Extract version from tag
id: version
run: |
if [ -n "${{ github.event.inputs.version }}" ]; then
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
else
# Strip the 'v' prefix from the tag
echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
fi
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Update version in pyproject.toml
run: |
VERSION=${{ steps.version.outputs.VERSION }}
echo "Setting version to $VERSION"
sed -i "s/^version = .*/version = \"$VERSION\"/" pyproject.toml
echo "Updated pyproject.toml:"
grep "^version" pyproject.toml
- name: Install build tools
run: python -m pip install --upgrade build
- name: Build package
run: python -m build
- name: Upload dist artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
publish:
needs: build
runs-on: ubuntu-latest
environment: pypi
permissions:
id-token: write
steps:
- name: Download dist artifacts
uses: actions/download-artifact@v4
with:
name: dist
path: dist/
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
aur:
needs: publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Extract version
id: version
run: |
if [ -n "${{ github.event.inputs.version }}" ]; then
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT
else
echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
fi
- name: Setup SSH for AUR
run: |
mkdir -p ~/.ssh
echo "${{ secrets.AUR_SSH_KEY }}" > ~/.ssh/aur
chmod 600 ~/.ssh/aur
echo "Host aur.archlinux.org" >> ~/.ssh/config
echo " IdentityFile ~/.ssh/aur" >> ~/.ssh/config
echo " User aur" >> ~/.ssh/config
ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts
- name: Clone AUR repo
run: git clone ssh://aur@aur.archlinux.org/python-sqlit-tui.git aur-repo
- name: Update PKGBUILD
run: |
cd aur-repo
VERSION=${{ steps.version.outputs.VERSION }}
# Wait for PyPI to have the package available
sleep 30
# Download new tarball and get checksum
curl -sL "https://files.pythonhosted.org/packages/source/s/sqlit-tui/sqlit_tui-${VERSION}.tar.gz" -o /tmp/pkg.tar.gz
CHECKSUM=$(sha256sum /tmp/pkg.tar.gz | cut -d' ' -f1)
# Update version and checksum in PKGBUILD
sed -i "s/^pkgver=.*/pkgver=${VERSION}/" PKGBUILD
sed -i "s/^pkgrel=.*/pkgrel=1/" PKGBUILD
sed -i "s/^sha256sums=.*/sha256sums=('${CHECKSUM}')/" PKGBUILD
# Update .SRCINFO
sed -i "s/pkgver = .*/pkgver = ${VERSION}/" .SRCINFO
sed -i "s/sqlit_tui-[0-9.]*/sqlit_tui-${VERSION}/g" .SRCINFO
sed -i "s/sha256sums = .*/sha256sums = ${CHECKSUM}/" .SRCINFO
- name: Push to AUR
run: |
cd aur-repo
git config user.email "peter.w.adams96@gmail.com"
git config user.name "Peter"
git add PKGBUILD .SRCINFO
git diff --staged --quiet || git commit -m "Update to v${{ steps.version.outputs.VERSION }}"
git push