Merge pull request 'feat: update makefile' (#1) from neoloc/buildlist into master
Some checks failed
Deploy / build (push) Failing after 43s

Reviewed-on: https://git.query.consul/unkin/rpmbuilder/pulls/1
This commit is contained in:
Ben Vincent 2024-12-01 00:13:39 +11:00
commit a1590b56ee
6 changed files with 22 additions and 26 deletions

View File

@ -21,10 +21,10 @@ jobs:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Docker Image
- name: Build Packages
run: |
make build
make all
- name: Show tree
- name: Show RPMs
run: |
tree /workspace
find /workspace -type f -name "*.rpm"

View File

@ -1,7 +1,9 @@
name: Build
name: Deploy
on:
pull_request:
push:
branches:
- master
jobs:
build:
@ -24,3 +26,11 @@ jobs:
- name: Build Docker Image
run: |
make build
- name: Upload RPMs to Gitea
env:
DRONECI_PASSWORD: ${{ secrets.DRONECI_PASSWORD }}
run: |
for rpm in $(find /workspace -type f -name "*.rpm"); do
curl --user droneci:${{ secrets.DRONECI_PASSWORD }} --upload-file $rpm https://git.query.consul/api/packages/unkin/rpm/almalinux/el8/upload
done

View File

@ -1,15 +1,17 @@
# Variables
ROOT_DIR := $(PWD)
RPMS_DIR := $(ROOT_DIR)/rpms
NFPM_VERSION := 2.41.1
# Automatically find all package/version directories
PACKAGES := $(shell find $(RPMS_DIR) -mindepth 2 -maxdepth 2 -type d | sed "s|$(RPMS_DIR)/||")
# Default target to build all packages and versions
.PHONY: all
.PHONY: all list build buildall clean
all: $(PACKAGES)
list:
@echo "$(PACKAGES)"
# Build specific package/version
.PHONY: $(PACKAGES)
$(PACKAGES):
@ -19,7 +21,6 @@ $(PACKAGES):
$(MAKE) build PACKAGE_NAME=$$PACKAGE_NAME PACKAGE_VERSION=$$PACKAGE_VERSION
# Build target
.PHONY: build
build:
@mkdir -p $(ROOT_DIR)/dist/$(PACKAGE_NAME)/
@echo "Preparing to build $(PACKAGE_NAME) version $(PACKAGE_VERSION)"
@ -27,7 +28,6 @@ build:
export PACKAGE_RELEASE=$$(cat $(PACKAGE_VERSION)/release) && \
echo "Using PACKAGE_RELEASE=$${PACKAGE_RELEASE}" && \
docker build \
--build-arg NFPM_VERSION=$(NFPM_VERSION) \
--build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \
--build-arg PACKAGE_RELEASE=$${PACKAGE_RELEASE} \
-t $$(echo $(PACKAGE_NAME)-builder \
@ -39,7 +39,6 @@ build:
docker rm $(PACKAGE_NAME)-$(PACKAGE_VERSION)-builder
# Clean target
.PHONY: clean
clean:
@echo "Cleaning build artifacts..."
rm -rf $(ROOT_DIR)/dist

View File

@ -1 +0,0 @@
almalinux/el8

View File

@ -0,0 +1 @@
1

View File

@ -1,5 +1,5 @@
# Start with the AlmaLinux 8.10 base image
FROM git.query.consul/unkin/almalinux8:latest
FROM git.query.consul/unkin/almalinux8-buildagent:latest
# Create output directory for RPMs
RUN mkdir -p /app/dist
@ -11,19 +11,6 @@ ARG PACKAGE_RELEASE
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
ARG PACKAGE_VERSION
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
ARG NFPM_VERSION
ENV NFPM_VERSION=${NFPM_VERSION}
# Clean and update the repository cache
RUN dnf clean all && \
dnf makecache
# Install build tools and dependencies for building RPMs
RUN dnf groupinstall -y 'Development Tools' && \
dnf install -y make cmake gcc gcc-c++ rpm rpmdevtools wget tar gzip
# Install nfpm using the RPM package
RUN dnf install -y https://github.com/goreleaser/nfpm/releases/download/v${NFPM_VERSION}/nfpm-${NFPM_VERSION}-1.x86_64.rpm
# Copy nfpm.yaml from the context into the container
COPY nfpm.yaml /app/nfpm.yaml