Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/release-branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# clobber overwrites existing assets of the same name
run: |
zip -r nginx-agent-{{env.VERSION}}-freebsd-12-amd64.zip ./build/packages/tzx/FreeBSD/12/amd64/
zip -r nginx-agent-{{env.VERSION}}-freebsd-13-amd64.zip ./build/packages/tzx/FreeBSD/13/amd64/
gh release upload --clobber v${{env.VERSION}} \
$(find ./build -type f \( -name "*.deb" -o -name "*.rpm" -o -name "*.zip" -o -name "*.apk" \))
$(find ./build/github/packages -type f \( -name "*.deb" -o -name "*.rpm" -o -name "*.pkg" -o -name "*.apk" \))
- name: Publish Release Packages
if: ${{ inputs.publishPackages == true }}
env:
Expand Down
18 changes: 14 additions & 4 deletions Makefile.packaging
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Variable Definitions #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
PACKAGES_DIR := ./build/packages
GPG_PUBLIC_KEY := .key
PACKAGES_DIR := ./build/packages
GITHUB_PACKAGES_DIR := ./build/github/packages
GPG_PUBLIC_KEY := .key

DEB_DISTROS?=ubuntu-jammy-22.04 ubuntu-focal-20.04 ubuntu-bionic-18.04 debian-bullseye-11 debian-buster-10
DEB_ARCHS?=arm64 amd64
Expand All @@ -19,18 +20,23 @@ AGENT_UPLOADER_KEY := "./agent-uploader.pem"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
clean-packages:
rm -rf $(PACKAGES_DIR)
rm -rf $(GITHUB_PACKAGES_DIR)

$(PACKAGES_DIR):
@mkdir -p $(PACKAGES_DIR)/deb && mkdir -p $(PACKAGES_DIR)/rpm && mkdir -p $(PACKAGES_DIR)/apk && mkdir -p $(PACKAGES_DIR)/txz

package: gpg-key $(PACKAGES_DIR) ## Create final packages for all supported distros
$(GITHUB_PACKAGES_DIR):
@mkdir -p $(GITHUB_PACKAGES_DIR)

package: gpg-key $(PACKAGES_DIR) $(GITHUB_PACKAGES_DIR) ## Create final packages for all supported distros
# Create deb packages

@for arch in $(DEB_ARCHS); do \
GOWORK=off CGO_ENABLED=0 GOARCH=$${arch} GOOS=linux go build -ldflags=${LDFLAGS} -o ./build/nginx-agent; \
for distro in $(DEB_DISTROS); do \
deb_codename=`echo $$distro | cut -d- -f 2`; \
VERSION=$(shell echo ${VERSION} | tr -d 'v')~$${deb_codename} ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager deb --target ${PACKAGES_DIR}/deb/${PACKAGE_PREFIX}_$(shell echo ${VERSION} | tr -d 'v')~$${deb_codename}_$${arch}.deb; \
cp ${PACKAGES_DIR}/deb/${PACKAGE_PREFIX}_$(shell echo ${VERSION} | tr -d 'v')~$${deb_codename}_$${arch}.deb ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v')~$${deb_codename}_$${arch}.deb; \
done; \
rm -rf ./build/nginx-agent; \
done; \
Expand All @@ -47,6 +53,7 @@ package: gpg-key $(PACKAGES_DIR) ## Create final packages for all supported dist
if [ "$$rpm_distro" = "suse" ]; then rpm_codename="sles$$rpm_major"; fi; \
if [ "$$rpm_codename" != "na" ]; then \
VERSION=$(shell echo ${VERSION} | tr -d 'v') ARCH=amd64 nfpm pkg --config .nfpm.yaml --packager rpm --target $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v').$${rpm_codename}.ngx.${UNAME_M}.rpm; \
cp $(PACKAGES_DIR)/rpm/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v').$${rpm_codename}.ngx.${UNAME_M}.rpm ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v').$${rpm_codename}.ngx.${UNAME_M}.rpm; \
fi; \
done; \
rm -rf ./build/nginx-agent
Expand All @@ -60,7 +67,8 @@ package: gpg-key $(PACKAGES_DIR) ## Create final packages for all supported dist
for version in $(APK_VERSIONS); do \
if [ ! -d "$(PACKAGES_DIR)/apk/v$${version}/$${arch}" ]; then mkdir -p $(PACKAGES_DIR)/apk/v$${version}/$${arch}; fi; \
VERSION=$(shell echo ${VERSION} | tr -d 'v') ARCH=$${arch} nfpm pkg --config .nfpm.yaml --packager apk --target $(PACKAGES_DIR)/apk/v$${version}/$${arch}/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v').apk; \
done; \
cp $(PACKAGES_DIR)/apk/v$${version}/$${arch}/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v').apk ${GITHUB_PACKAGES_DIR}/${PACKAGE_PREFIX}-$(shell echo ${VERSION} | tr -d 'v')-v$${version}-$${arch}.apk; \
done; \
rm -rf ./build/nginx-agent; \
done; \

Expand All @@ -79,6 +87,8 @@ package: gpg-key $(PACKAGES_DIR) ## Create final packages for all supported dist
find $(PACKAGES_DIR)/apk ;\
echo "TXZ packages:"; \
find $(PACKAGES_DIR)/txz ;\
echo "Github packages:"; \
find $(GITHUB_PACKAGES_DIR) ;\
cd $(PACKAGES_DIR) && tar -czvf "./${PACKAGE_PREFIX}.tar.gz" * && cd ../..;

gpg-key: ## Generate GPG public key
Expand Down
2 changes: 2 additions & 0 deletions scripts/packages/packager/signed-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ FREEBSD_DISTROS="FreeBSD:12:amd64 FreeBSD:13:amd64"
cd /nginx-agent/

mkdir -p ./build/packages/txz
mkdir -p ./build/github/packages

mkdir -p staging/usr/local/bin
mkdir -p staging/usr/local/etc/nginx-agent
Expand Down Expand Up @@ -41,6 +42,7 @@ for freebsd_abi in $FREEBSD_DISTROS; do \
cd build/packages/txz/"$freebsd_abi"; \
ln -s nginx-agent-"$(git describe --match 'v[0-9]*' --abbrev=0 | tr -d 'v')".pkg nginx-agent-"$(git describe --match 'v[0-9]*' --abbrev=0 | tr -d 'v')".txz; \
cd ../../../../; \
cp ./build/packages/txz/"$freebsd_abi"/nginx-agent-"$(git describe --match 'v[0-9]*' --abbrev=0 | tr -d 'v')".pkg ./build/github/packages/nginx-agent-"$(git describe --match 'v[0-9]*' --abbrev=0 | tr -d 'v')"-"$freebsd_abi".pkg; \
done; \

rm -rf /staging