From ab1f649d79fc3ec72549faeab9a66b2dfdadbbb5 Mon Sep 17 00:00:00 2001 From: restitux Date: Wed, 24 Dec 2025 00:08:16 -0700 Subject: [PATCH] TEST --- ci/build.sh | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/ci/build.sh b/ci/build.sh index de9443a..17f643b 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -20,12 +20,12 @@ main() { cd "${ACTION_REPO_DIR}" go mod edit -go "$(echo "${GO_VERSION}" | sed 's/^go//')" - # 3. Clone latest CoreDNS release + # 3. Clone CoreDNS cd "${TMPDIR}" COREDNS_REPO_URL="https://github.com/coredns/coredns.git" COREDNS_DIR="${TMPDIR}/coredns" - # get latest tag (annotated or lightweight) + # 4. Checkout coredns to latest release git clone --depth=1 --filter=blob:none --tags "${COREDNS_REPO_URL}" "${COREDNS_DIR}" cd "${COREDNS_DIR}" git fetch --tags @@ -33,9 +33,6 @@ main() { git fetch --tags --depth=1 origin "${LATEST_TAG}" git checkout "${LATEST_TAG}" - # 4. cd into the CoreDNS repo - cd "${COREDNS_DIR}" - # 5. Update plugin.cfg to include netboxdns plugin # Insert netboxdns after the 'cache' plugin entry as recommended. [web:16][web:29] if ! grep -q '^netboxdns:' plugin.cfg; then @@ -50,28 +47,21 @@ main() { mv plugin.cfg.new plugin.cfg fi + # 6. Update coredns repo to latest golang version + # TODO: do we need this? I think we should actually force the plugin to use the coredns configured golang version + # this possibly only works because coredns is using the latest golang version go mod edit -go "$(echo "${GO_VERSION}" | sed 's/^go//')" - # 6. go mod replace plugin path to the cloned action repo - # This assumes the plugin lives at github.com/doubleu-labs/coredns-netbox-plugin-dns in your repo. [web:16][web:23] - # Adjust relative path if your repo layout differs. + + # 7. go mod replace plugin path to the cloned action repo + # This assumes the plugin lives at github.com/doubleu-labs/coredns-netbox-plugin-dns in your repo. go mod edit -replace=github.com/doubleu-labs/coredns-netbox-plugin-dns="${ACTION_REPO_DIR}" # 7. Regenerate plugin source files - # CoreDNS uses go generate (via Makefile) to rebuild plugin glue code. [web:20][web:26] + # CoreDNS uses go generate (via Makefile) to rebuild plugin glue code. make gen - # 8. Update Go version to the latest - # Install or pick latest Go and set GOTOOLCHAIN, or rely on pre-installed toolchain in the runner. [web:17] - # Here we query the latest stable from golang.org and export it for this build. - - git diff - - echo "Using Go version: ${GO_VERSION}" - - #export GOTOOLCHAIN="${GO_VERSION}" - # 9. Compile CoreDNS make coredns || make @@ -106,6 +96,20 @@ EOF dpkg-deb --build "${PKG_ROOT}" "${DEB_OUT}" echo "Built Debian package at: ${DEB_OUT}" + + # 12. Upload the package to Gitea Debian registry + # Gitea uses HTTP PUT with the .deb in the request body. [web:31][web:39] + DEB_REGISTRY_URL="https://git.ohea.xyz/api/packages/dns/debian/pool/trixie/main/upload" + echo "Uploading ${DEB_OUT} to ${DEB_REGISTRY_URL}" + curl \ + --fail \ + --show-error \ + --silent \ + --request PUT \ + --user "${CI_REGISTRY_USER}:${CI_REGISTRY_PASSWORD}" \ + --upload-file "${DEB_OUT}" \ + "${DEB_REGISTRY_URL}" + } main "$@"