update workflow #19
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Upload PDF Creator | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.4 | |
- name: Install GTK3 dependencies | |
run: sudo apt-get update && sudo apt-get install -y libgtk-3-dev | |
- name: Install dependencies | |
run: go mod tidy | |
- name: Build the binary | |
run: go build -o print-pdf -v ./cmd/print-pdf | |
- name: Get package version | |
id: get_version | |
run: | | |
TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") | |
if [ -z "$TAG" ]; then | |
EPOCH_TIME=$(date +%s) | |
COMMIT_HASH=$(git rev-parse --short HEAD) | |
VERSION="${EPOCH_TIME}-${COMMIT_HASH}" | |
RPM_VERSION=$(echo $VERSION | sed 's/-/_/g') | |
else | |
VERSION=$TAG | |
RPM_VERSION=$(echo $VERSION | sed 's/-/_/g') | |
fi | |
echo "version=$VERSION" >> $GITHUB_OUTPUT | |
echo "rpm_version=$RPM_VERSION" >> $GITHUB_OUTPUT | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: print-pdf | |
path: print-pdf | |
- name: Install FPM | |
run: sudo gem install fpm | |
- name: Prepare package directory | |
run: | | |
mkdir -p package/usr/local/bin | |
mkdir -p package/usr/share/applications | |
cp print-pdf package/usr/local/bin/ | |
cp .package-build/print-pdf.desktop package/usr/share/applications/ | |
- name: Build .deb package | |
run: | | |
VERSION=${{ steps.get_version.outputs.version }} | |
fpm -s dir -t deb -n print-pdf -v $VERSION -C package usr/local/bin usr/share/applications | |
- name: Upload .deb package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: print-pdf-deb | |
path: print-pdf_${{ steps.get_version.outputs.version }}_amd64.deb | |
- name: Build .rpm package | |
run: | | |
VERSION=${{ steps.get_version.outputs.version }} | |
fpm -s dir -t rpm -n print-pdf -v $VERSION -C package usr/local/bin usr/share/applications | |
- name: Upload .rpm package | |
uses: actions/upload-artifact@v4 | |
with: | |
name: print-pdf-rpm | |
path: print-pdf-${{ steps.get_version.outputs.rpm_version }}-1.x86_64.rpm |