diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index b925d3ec2..36fb5ba53 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -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: diff --git a/Makefile.packaging b/Makefile.packaging index 9d1da4f39..92a1b9eea 100644 --- a/Makefile.packaging +++ b/Makefile.packaging @@ -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 @@ -19,11 +20,15 @@ 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 \ @@ -31,6 +36,7 @@ package: gpg-key $(PACKAGES_DIR) ## Create final packages for all supported dist 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; \ @@ -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 @@ -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; \ @@ -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 diff --git a/scripts/packages/packager/signed-entrypoint.sh b/scripts/packages/packager/signed-entrypoint.sh index 6c2d1825d..415c64843 100644 --- a/scripts/packages/packager/signed-entrypoint.sh +++ b/scripts/packages/packager/signed-entrypoint.sh @@ -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 @@ -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