Skip to content

Commit 02dd184

Browse files
committed
[skip ci] Tidy up paths in log, try simplify the configuration
1 parent 1cefa38 commit 02dd184

File tree

3 files changed

+101
-68
lines changed

3 files changed

+101
-68
lines changed

.github/workflows/assertion.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
id-token: write
2020
contents: read
2121
env:
22-
GOPROXY: "https://${{ secrets.ARTIFACTORY_USER }}:${{ secrets.ARTIFACTORY_TOKEN }}@azr.artifactory.f5net.com/artifactory/api/go/f5-nginx-go-local-approved-dependency"
22+
GOPROXY: "https://${{ secrets.ARTIFACTORY_USER }}:${{ secrets.ARTIFACTORY_TOKEN }}@${{ secrets.ARTIFACTORY_URL_PROD }}"
2323
outputs:
2424
agent_binary: ${{ steps.check_binary.outputs.agent_binary }}
2525
goversionm: ${{ steps.godeps.outputs.goversionm }}
@@ -65,7 +65,7 @@ jobs:
6565
6666
- name: Generate Assertion Document
6767
id: assertiondoc
68-
uses: nginxinc/compliance-rules/.github/actions/assertion@83e452166aaf0ad8f07caf91a4f1f903b3dea1e6 # v0.3.0
68+
uses: nginxinc/compliance-rules/.github/actions/assertion@0aab935582c35a00e2c671d8fe25b7fdd72a927b # v0.3.1
6969
with:
7070
artifact-name: nginx-agent_${{ env.branch_name }}_${{ matrix.osarch }}
7171
artifact-digest: ${{ env.agent-digest }}
@@ -84,6 +84,6 @@ jobs:
8484

8585
- name: Sign and Store Assertion Document
8686
id: sign
87-
uses: nginxinc/compliance-rules/.github/actions/sign@83e452166aaf0ad8f07caf91a4f1f903b3dea1e6 # v0.3.0
87+
uses: nginxinc/compliance-rules/.github/actions/sign@0aab935582c35a00e2c671d8fe25b7fdd72a927b # v0.3.1
8888
with:
8989
assertion-doc: ${{ steps.assertiondoc.outputs.assertion-document-path }}

.github/workflows/upload-release-assets.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
run: |
7777
gh release list
7878
gh release upload --clobber v${{ inputs.pkgVersion }} \
79-
$(find ${{inputs.pkgRepo}}/nginx-agent | grep -e "nginx-agent[_-]${{inputs.pkgVersion}}")
79+
$(find ${{inputs.pkgRepo}}/nginx-agent | grep -e "nginx-agent[_-]${{inputs.pkgVersion}}" | grep -v "azure")
8080
8181
- name: Azure Login
8282
if: ${{ inputs.uploadAzure == true }}
@@ -89,10 +89,12 @@ jobs:
8989
uses: azure/CLI@9f7ce6f37c31b777ec6c6b6d1dfe7db79f497956 # v2.2.0
9090
with:
9191
inlineScript: |
92-
echo "Uploading tarball to Azure... nginx-agent/release-${{ inputs.pkgVersion }}/nginx-agent.tar.gz"
92+
echo "Uploading tarball... nginx-agent/release-${{ inputs.pkgVersion }}/nginx-agent.tar.gz"
9393
az storage blob upload --auth-mode=login -f "${{ inputs.pkgRepo }}/nginx-agent/nginx-agent.tar.gz" \
9494
-c ${{ secrets.AZURE_CONTAINER_NAME }} \
9595
--account-name ${{ secrets.AZURE_ACCOUNT_NAME }} --overwrite -n nginx-agent/release-${{ inputs.pkgVersion }}/nginx-agent.tar.gz
96+
97+
echo "Uploading packages..."
9698
for i in $(find ${{ inputs.pkgRepo }}/nginx-agent | grep -e "nginx-agent[_-]${{ inputs.pkgVersion }}"); do
9799
dest="nginx-agent/release-${{ inputs.pkgVersion }}/${i##*/}"
98100
echo "Uploading ${i} to ${dest}"

scripts/packages/package-check.sh

Lines changed: 94 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
11
#!/bin/bash
2+
#
3+
# package_check.sh
4+
#
5+
# Check for the presence of nginx-agent packages in a given package repository,
6+
# and download them if required. Defaults to packages.nginx.org if no repository is specified.
7+
#
8+
# If DL=1 and files are downloaded, it also prepares the packages for upload to Azure and GitHub Releases by
9+
# modifying paths to match the expected format for each platform.
10+
#
211
# Usage:
312
#
413
# Check package v3.0.0 availability for all platforms, no auth required:
514
# > ./package_check.sh 3.0.0
615
#
716
# Check pkgs and download if present, with authentication:
8-
# > CERT=<cert-path> KEY=<key-path> DL=1 ./package_check.sh 3.0.0
17+
# > DL=1 CERT=<cert-path> KEY=<key-path> ./package_check.sh 3.5.0
918
#
1019
# Required parameters:
1120
#
12-
# version: the version of agent you wish to search for i.e 3.0.0
21+
# version: the version of agent you wish to search for i.e 3.5.0
1322
#
14-
# Optional parameters:
23+
# Optional env variables:
1524
#
1625
# PKG_REPO: The root url for the repository you wish to check, defaults to packages.nginx.org
1726
# CERT: Path to your cert file
1827
# KEY: Path to your key file
1928
# DL: Switch to download the package if it is present, set to 1 if download required, defaults to 0
2029
#
21-
# Packages are downloaded to the local directory with the path of its corresponding repo url + uri i.e
30+
# Packages are downloaded to the local directory with the path of its corresponding repo url + uri, i.e
2231
#
2332
# packages.nginx.org/nginx-agent/debian/pool/agent/n/nginx-agent/nginx-agent_3.0.0~bullseye_arm64.deb
2433
#
@@ -46,57 +55,58 @@ if [[ -z $VERSION ]]; then
4655
fi
4756
PKG_DIR="${PKG_REPO}/${PKG_NAME}"
4857
PKG_REPO_URL="https://${PKG_DIR}"
58+
DL=${DL:-0}
4959

50-
APK=(
51-
alpine/v3.22/main/aarch64/nginx-agent-$VERSION.apk
52-
alpine/v3.22/main/x86_64/nginx-agent-$VERSION.apk
53-
alpine/v3.21/main/aarch64/nginx-agent-$VERSION.apk
54-
alpine/v3.21/main/x86_64/nginx-agent-$VERSION.apk
55-
alpine/v3.20/main/aarch64/nginx-agent-$VERSION.apk
56-
alpine/v3.20/main/x86_64/nginx-agent-$VERSION.apk
57-
alpine/v3.19/main/aarch64/nginx-agent-$VERSION.apk
58-
alpine/v3.19/main/x86_64/nginx-agent-$VERSION.apk
59-
)
60-
UBUNTU=(
61-
ubuntu/pool/agent/n/nginx-agent/nginx-agent_$VERSION~jammy_amd64.deb
62-
ubuntu/pool/agent/n/nginx-agent/nginx-agent_$VERSION~noble_arm64.deb
63-
ubuntu/pool/agent/n/nginx-agent/nginx-agent_$VERSION~plucky_arm64.deb
64-
ubuntu/pool/agent/n/nginx-agent/nginx-agent_$VERSION~jammy_arm64.deb
65-
ubuntu/pool/agent/n/nginx-agent/nginx-agent_$VERSION~noble_amd64.deb
66-
ubuntu/pool/agent/n/nginx-agent/nginx-agent_$VERSION~plucky_amd64.deb
67-
)
68-
DEBIAN=(
69-
debian/pool/agent/n/nginx-agent/nginx-agent_$VERSION~bullseye_arm64.deb
70-
debian/pool/agent/n/nginx-agent/nginx-agent_$VERSION~bookworm_amd64.deb
71-
debian/pool/agent/n/nginx-agent/nginx-agent_$VERSION~trixie_arm64.deb
72-
debian/pool/agent/n/nginx-agent/nginx-agent_$VERSION~bookworm_arm64.deb
73-
debian/pool/agent/n/nginx-agent/nginx-agent_$VERSION~bullseye_amd64.deb
74-
debian/pool/agent/n/nginx-agent/nginx-agent_$VERSION~trixie_amd64.deb
75-
)
76-
AMZN=(
77-
amzn/2023/aarch64/RPMS/nginx-agent-$VERSION.amzn2023.ngx.aarch64.rpm
78-
amzn/2023/x86_64/RPMS/nginx-agent-$VERSION.amzn2023.ngx.x86_64.rpm
60+
majorVersion=$(echo ${VERSION} | cut -d. -f1)
61+
62+
# Define package URIs to check for each platform
63+
64+
APK=()
65+
ALPINE_VERSIONS=("3.22" "3.21" "3.20" "3.19")
66+
ALPINE_ARCH=("x86_64" "aarch64")
67+
for alpine_version in "${ALPINE_VERSIONS[@]}"; do
68+
for arch in ${ALPINE_ARCH[@]}; do
69+
APK+=("alpine/v${alpine_version}/main/${arch}/nginx-agent-${VERSION}.apk")
70+
done
71+
done
72+
73+
UBUNTU=()
74+
UBUNTU_VERSIONS=("jammy" "noble" "plucky")
75+
DEB_ARCH=("amd64" "arm64")
76+
for ubuntu_version in "${UBUNTU_VERSIONS[@]}"; do
77+
for arch in ${DEB_ARCH[@]}; do
78+
UBUNTU+=("ubuntu/pool/agent/n/nginx-agent/nginx-agent_${VERSION}~${ubuntu_version}_${arch}.deb")
79+
done
80+
done
81+
82+
DEBIAN=()
83+
DEBIAN_VERSIONS=("bullseye" "bookworm" "trixie")
84+
for deb_version in "${DEBIAN_VERSIONS[@]}"; do
85+
for arch in ${DEB_ARCH[@]}; do
86+
DEBIAN+=("debian/pool/agent/n/nginx-agent/nginx-agent_${VERSION}~${deb_version}_${arch}.deb")
87+
done
88+
done
89+
90+
CENTOS=()
91+
CENTOS_VERSIONS=("10" "9" "8")
92+
RPM_ARCH=("aarch64" "x86_64")
93+
for centos_version in "${CENTOS_VERSIONS[@]}"; do
94+
for arch in ${RPM_ARCH[@]}; do
95+
CENTOS+=("centos/${centos_version}/${arch}/RPMS/nginx-agent-${VERSION}.el${centos_version}.ngx.${arch}.rpm")
96+
done
97+
done
98+
99+
AMZN=()
100+
for arch in ${RPM_ARCH[@]}; do
101+
AMZN+=("amzn/2023/${arch}/RPMS/nginx-agent-$VERSION.amzn2023.ngx.${arch}.rpm")
102+
AMZN+=("amzn2/2/${arch}/RPMS/nginx-agent-$VERSION.amzn2.ngx.${arch}.rpm")
103+
done
79104

80-
amzn2/2/aarch64/RPMS/nginx-agent-$VERSION.amzn2.ngx.aarch64.rpm
81-
amzn2/2/x86_64/RPMS/nginx-agent-$VERSION.amzn2.ngx.x86_64.rpm
82-
)
83105
SUSE=(
84106
sles/15/x86_64/RPMS/nginx-agent-$VERSION.sles15.ngx.x86_64.rpm
85107
)
86-
CENTOS=(
87-
centos/10/aarch64/RPMS/nginx-agent-$VERSION.el10.ngx.aarch64.rpm
88-
centos/10/x86_64/RPMS/nginx-agent-$VERSION.el10.ngx.x86_64.rpm
89-
centos/9/aarch64/RPMS/nginx-agent-$VERSION.el9.ngx.aarch64.rpm
90-
centos/9/x86_64/RPMS/nginx-agent-$VERSION.el9.ngx.x86_64.rpm
91-
centos/8/aarch64/RPMS/nginx-agent-$VERSION.el8.ngx.aarch64.rpm
92-
centos/8/x86_64/RPMS/nginx-agent-$VERSION.el8.ngx.x86_64.rpm
93-
)
94-
95-
FREEBSD=(
96-
freebsd/FreeBSD:12:amd64/latest/nginx-agent-$VERSION.pkg
97-
freebsd/FreeBSD:13:amd64/latest/nginx-agent-$VERSION.pkg
98-
)
99108

109+
# Aggregate all URIs to fetch
100110
uris=(
101111
${DEBIAN[@]}
102112
${UBUNTU[@]}
@@ -106,8 +116,12 @@ uris=(
106116
${SUSE[@]}
107117
)
108118

109-
majorVersion=$(echo ${VERSION} | cut -d. -f1)
110119
if [[ ${majorVersion} == 2 ]]; then
120+
# v2.x supports FreeBSD packages
121+
FREEBSD=(
122+
freebsd/FreeBSD:12:amd64/latest/nginx-agent-$VERSION.pkg
123+
freebsd/FreeBSD:13:amd64/latest/nginx-agent-$VERSION.pkg
124+
)
111125
uris+=(${FREEBSD[@]})
112126
fi
113127

@@ -168,14 +182,17 @@ check_repo() {
168182
fi
169183
}
170184

185+
# Prepare packages for upload to Azure
171186
prep_deb() {
172-
echo "Preparing deb packages for upload..."
187+
echo "Preparing deb packages..."
173188
mkdir -p "${PKG_DIR}/azure/deb"
174189
for i in $(find "${PKG_DIR}" | grep -e "nginx-agent[_-]${VERSION}.*\.deb"); do
175190
az_dest="${PKG_DIR}/azure/deb/$(basename "$i")"
191+
# Azure path
176192
echo "Copying ${i} to ${az_dest}"
177193
cp "${i}" "${az_dest}"
178-
echo "Renaming ${i} to ${i/_/-}"
194+
# GitHub release asset path
195+
echo "Moving ${i} to ${i/_/-}"
179196
mv "${i}" "${i/_/-}"
180197
done
181198
}
@@ -188,11 +205,15 @@ prep_apk() {
188205
arch=$(echo "$i" | grep -o -F -e "x86_64" -e "aarch64")
189206
dest="$(dirname "$i")/nginx-agent-${VERSION}-$ver-$arch.apk"
190207
az_dest="${PKG_DIR}/azure/apk/$ver/$arch/nginx-agent-${VERSION}.apk"
191-
echo "Copying ${i} to ${az_dest}"
208+
209+
# Azure path
192210
mkdir -p "$(dirname "$az_dest")"
211+
echo "Copying ${i} to ${az_dest}"
193212
cp "${i}" "${az_dest}"
194-
echo "Renaming ${i} to ${dest}"
195-
cp "${i}" "${dest}"
213+
214+
# GitHub release asset path
215+
echo "Moving ${i} to ${dest}"
216+
mv "${i}" "${dest}"
196217
done
197218
}
198219

@@ -201,9 +222,11 @@ prep_rpm() {
201222
mkdir -p "${PKG_DIR}/azure/rpm"
202223
for i in $(find "${PKG_DIR}" | grep -e "nginx-agent-${VERSION}.*.rpm"); do
203224
az_dest="${PKG_DIR}/azure/rpm/$(basename "$i")"
225+
# Azure path
204226
echo "Copying ${i} to ${az_dest}"
205227
mkdir -p "$(dirname "$az_dest")"
206228
cp "${i}" "${az_dest}"
229+
# No path changes needed for GitHub release
207230
done
208231
}
209232

@@ -224,20 +247,24 @@ prep_txz() {
224247

225248
prepare_packages() {
226249
echo "Preparing packages for upload..."
227-
228250
prep_deb
229251
prep_apk
230252
prep_rpm
231253
if [[ ${majorVersion} == 2 ]]; then
232254
prep_txz
233255
fi
234256

235-
echo "Prepared packages:"
236-
find "${PKG_DIR}/azure" -type f
257+
echo
258+
echo "Prepared packages for Azure:"
259+
find "${PKG_DIR}/azure" -type f | grep "${VERSION}" | sed "s|${PKG_DIR}/azure/||"
260+
261+
echo
262+
echo "Prepared packages for GitHub Release v${VERSION}:"
263+
find "${PKG_DIR}" -type f | grep "${VERSION}" | grep -v "/azure/" | awk -F/ '{print $NF}'
237264
}
238265

239266
create_tarball() {
240-
echo "Creating tarball of downloaded packages... "
267+
echo "Creating tarball... "
241268
tar -czvf "${PKG_DIR}/nginx-agent.tar.gz" -C ${PKG_DIR}/azure .
242269
if [[ $? != 0 ]]; then
243270
echo -e "${RED}Failed to create tarball!${NC}"
@@ -248,7 +275,11 @@ create_tarball() {
248275

249276
# Main
250277

251-
check_repo
252-
check_pkgs
253-
prepare_packages
254-
create_tarball
278+
#check_repo
279+
#check_pkgs
280+
281+
# Prepare packages for upload
282+
if [[ $DL == 1 ]]; then
283+
prepare_packages
284+
create_tarball
285+
fi

0 commit comments

Comments
 (0)