Create custom CI pipeline
Some checks failed
ci/woodpecker/push/woodpecker/1 Pipeline failed
ci/woodpecker/push/woodpecker/3 Pipeline failed
ci/woodpecker/push/woodpecker/2 Pipeline failed
ci/woodpecker/tag/woodpecker/3 Pipeline failed
ci/woodpecker/tag/woodpecker/1 Pipeline was successful
ci/woodpecker/release/woodpecker/3 Pipeline failed
ci/woodpecker/release/woodpecker/1 Pipeline was successful
ci/woodpecker/release/woodpecker/2 Pipeline was successful
ci/woodpecker/tag/woodpecker/2 Pipeline failed

This commit is contained in:
Elara 2025-02-12 23:20:59 -08:00
parent d58228cd43
commit 0533731f69
3 changed files with 72 additions and 19 deletions

20
.nfpm.yaml Normal file
View File

@ -0,0 +1,20 @@
name: distrohop
description: "A utility for correlating and identifying equivalent software packages across different Linux distributions"
homepage: 'https://gitea.elara.ws/Elara6331/distrohop'
maintainer: 'Elara Ivy <elara@elara.ws>'
license: AGPLv3
arch: ${ARCH}
version: ${VERSION}
provides:
- distrohop
conflicts:
- distrohop
contents:
- src: distrohop
dst: /usr/bin/distrohop
file_info:
mode: 0755
- src: distrohop.service
dst: /etc/systemd/system/distrohop.service
file_info:
mode: 0644

View File

@ -1,30 +1,60 @@
matrix:
platform:
- linux/amd64
- linux/arm64
- linux/riscv64
labels:
platform: linux/amd64
platform: ${platform}
steps:
- name: docker
image: gitea.elara.ws/elara6331/builder
- name: build
image: golang:1.23.6
commands:
- registry-login
- ko build -B --platform=linux/amd64,linux/arm64,linux/riscv64 -t latest,${CI_COMMIT_TAG} --sbom=none
environment:
REGISTRY: gitea.elara.ws
REGISTRY_USERNAME: Elara6331
KO_DOCKER_REPO: gitea.elara.ws/elara6331
KO_DEFAULTBASEIMAGE: gitea.elara.ws/elara6331/static-root
REGISTRY_PASSWORD:
- go build
- name: docker
image: woodpeckerci/plugin-kaniko
settings:
registry: gitea.elara.ws
repo: elara6331/distrohop
tags: ${platform##linux/}
cache: true
username: elara6331
password:
from_secret: registry_password
when:
event: tag
- name: nfpm
image: goreleaser/nfpm
environment:
ARCH: ${platform##linux/}
VERSION: ${CI_COMMIT_TAG##v}
commands:
- nfpm pkg -f .nfpm.yaml -p deb -t .
- nfpm pkg -f .nfpm.yaml -p rpm -t .
- nfpm pkg -f .nfpm.yaml -p archlinux -t .
when:
event: tag
- name: release
image: goreleaser/goreleaser
commands:
- goreleaser release
environment:
GITEA_TOKEN:
image: woodpeckerci/plugin-release
settings:
title: "Version ${CI_COMMIT_TAG##v}"
files:
- '*.deb'
- '*.rpm'
- '*.tar.zst'
api_key:
from_secret: gitea_token
AUR_KEY:
from_secret: aur_key
when:
event: tag
event: tag
- name: manifest
image: mplatform/manifest-tool
commands:
- manifest-tool push from-args --platforms linux/amd64,linux/arm64,linux/riscv64 --template gitea.elara.ws/elara6331/distrohop:ARCH --tags ${CI_COMMIT_TAG} --target gitea.elara.ws/elara6331/distrohop:latest
when:
event: tag
platform: linux/amd64

3
Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM gitea.elara.ws/elara6331/static-root:latest
COPY distrohop /bin/distrohop
ENTRYPOINT [ "/bin/distrohop" ]