Files
2026-05-25 03:01:46 +03:00

95 lines
2.5 KiB
YAML

name: Build and Package dnc
on:
push:
tags:
- 'v*'
pull_request:
workflow_dispatch:
inputs:
version:
description: 'Version to build (e.g., 0.3.0)'
required: false
default: ''
env:
KITTY_VERSION: '0.46.2'
GO_VERSION: '1.22'
jobs:
build-packages:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Determine version
id: version
shell: bash
run: |
if [ -n "${{ inputs.version }}" ]; then
VERSION="${{ inputs.version }}"
elif [[ "${{ github.ref }}" == refs/tags/v* ]]; then
VERSION="${GITHUB_REF_NAME#v}"
else
VERSION="0.2.0-$(git rev-parse --short HEAD)"
fi
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Download kitty binary
run: |
set -e
mkdir -p build
KITTY_ARCHIVE="kitty-${KITTY_VERSION}-x86_64.txz"
KITTY_URL="https://github.com/kovidgoyal/kitty/releases/download/v${KITTY_VERSION}/${KITTY_ARCHIVE}"
echo "Downloading kitty from: $KITTY_URL"
curl -fL "$KITTY_URL" -o "build/$KITTY_ARCHIVE"
tar -xJf "build/$KITTY_ARCHIVE" -C build/
mv build/kitty.app build/kitty
ls -la build/
ls -la build/kitty/bin/
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '${{ env.GO_VERSION }}'
- name: Install nfpm
run: |
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest
export PATH="$PATH:$(go env GOPATH)/bin"
nfpm --version
- name: Build DEB package
env:
VERSION: '${{ steps.version.outputs.VERSION }}'
run: |
export PATH="$PATH:$(go env GOPATH)/bin"
mkdir -p dist
nfpm package \
--packager deb \
--config packaging/nfpm.yaml \
--target dist/
- name: Build RPM package
env:
VERSION: '${{ steps.version.outputs.VERSION }}'
run: |
export PATH="$PATH:$(go env GOPATH)/bin"
mkdir -p dist
nfpm package \
--packager rpm \
--config packaging/nfpm.yaml \
--target dist/
- name: List artifacts
run: |
echo "Packages built:"
ls -lh dist/
- name: Upload packages as artifacts
uses: actions/upload-artifact@v4
with:
name: dnc-packages
path: dist/