From 1e9a9e345d0f082b30110578a76c45143903dc50 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Tue, 23 Dec 2025 19:05:40 -0500 Subject: [PATCH 01/16] backports/electron: test build --- backports/electron/APKBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backports/electron/APKBUILD b/backports/electron/APKBUILD index c57c98e..3d3b978 100644 --- a/backports/electron/APKBUILD +++ b/backports/electron/APKBUILD @@ -3,7 +3,7 @@ pkgname=electron pkgver=39.2.7 _gittag=v"${pkgver/_beta/-beta.}" -pkgrel=0 +pkgrel=1 _chromium=142.0.7444.235 _copium_tag=142.0 _depot_tools=495b23b39aaba2ca3b55dd27cadc523f1cb17ee6 From 2eb1b0315c1df15042177deb7c99631b5a0e8a87 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Wed, 7 Jan 2026 22:32:35 -0500 Subject: [PATCH 02/16] ci: add fix_only / minor_only processing to u-boot-pine64-pinenote --- .forgejo/bin/check_ver.sh | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index ee9ed3c..b647e57 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -72,7 +72,24 @@ for pkg in $owned_by_you; do case $pkg in # track u-boot-pine64-pinenote against mainline u-boot, and track upstream rockchip blobs u-boot-pine64-pinenote) - upstream_version="$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/u-boot" | jq -r '.stable_versions.[]' | head -n1)" + # reproduce catch-all option + if [[ "$minor_only" == *all* || "$minor_only" == *$pkg* ]] && [[ "$minor_only" != *-$pkg* ]]; then + # continues when package version scheme is not semantic, but minor_only or fix_only is set + if ! is_semantic $downstream_version; then + echo "$pkg is not semantic, and minor_only is set" + continue + fi + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/u-boot" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*.*}.*\").string" | head -n1) + elif [[ "$fix_only" == *all* || "$fix_only" == *$pkg* ]] && [[ "$fix_only" != *-$pkg* ]]; then + # continues when package version scheme is not semantic, but minor_only or fix_only is set + if ! is_semantic $downstream_version; then + echo "$pkg is not semantic, and fix_only is set" + continue + fi + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/u-boot" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*}.*\").string" | head -n1) + else + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/u-boot" | jq -r '.stable_versions.[]' | head -n1) + fi # some reason the commit now not in APKINDEX, using master instead #commit=$(sed -n "/^P:$pkg$/,/^$/p" APKINDEX | awk -F ':' '{if($1=="c"){print $2}}') @@ -96,8 +113,7 @@ for pkg in $owned_by_you; do echo "$pkg new ddr blob $upstream_ddr version available" echo "$pkg(ddr) $downstream_ddr $upstream_ddr $repo $release" >> out_of_date fi - - ;; + ;; # release-monitoring omits the extra B, while we keep it but put it after the version no. looking-glass) upstream_version="$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[]' | head -n1)b";; # we want to track both Firefox security upgrades + Zotero upgrades From 494e2176725c85972defc07683b9ba0f37d62639 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sat, 10 Jan 2026 13:14:28 -0500 Subject: [PATCH 03/16] ci: skip openterface-qt on user check --- .forgejo/workflows/check-user.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/check-user.yml b/.forgejo/workflows/check-user.yml index db1f574..8ce4210 100644 --- a/.forgejo/workflows/check-user.yml +++ b/.forgejo/workflows/check-user.yml @@ -14,6 +14,7 @@ jobs: downstream: https://ayakael.net/api/packages/forge/alpine/edge/user ISSUE_TOKEN: ${{ secrets.issue_token }} LABEL_NUMBER: 12 + skip_package: openterface-qt steps: - name: Environment setup run: apk add grep coreutils gawk curl wget bash nodejs git jq sed From c0ece6ad201f654c5dd5446c70f0cd671374016d Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Thu, 15 Jan 2026 16:20:12 -0500 Subject: [PATCH 04/16] ci: track shntool calibre py3-limits py3-flask-limiter py3-apsw nb --- .forgejo/workflows/check-testing.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/check-testing.yml b/.forgejo/workflows/check-testing.yml index 71ad18e..1da002d 100644 --- a/.forgejo/workflows/check-testing.yml +++ b/.forgejo/workflows/check-testing.yml @@ -14,6 +14,7 @@ jobs: downstream: https://dl-cdn.alpinelinux.org/alpine/edge/testing ISSUE_TOKEN: ${{ secrets.issue_token }} LABEL_NUMBER: 4 + add_package: shntool calibre py3-limits py3-flask-limiter py3-apsw nb skip_package: dotnet6-stage0 dotnet6-build steps: - name: Environment setup From 95ccc4c908f8b18db1ebd19628542a85f921151a Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Wed, 21 Jan 2026 16:02:14 -0500 Subject: [PATCH 05/16] ci: fix u-boot-pine64-pinenote blob tracking --- .forgejo/bin/check_ver.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index b647e57..6ee8a59 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -101,8 +101,8 @@ for pkg in $owned_by_you; do upstream_ddr="$(curl --fail -s 'https://raw.githubusercontent.com/rockchip-linux/rkbin/master/RKBOOT/RK3566MINIALL_ULTRA.ini' | grep ddr | awk -F '=' '{if($1"="PATH){print $2}}' | head -n 1 | grep -o -P '(?<=_v).*(?=.bin)')" # extracts downstream version via _trust_ver and _ddr_ver variable - downstream_trust=$(curl --fail -X GET -s "https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/$commit/device/testing/u-boot-pine64-pinenote/APKBUILD" | awk -F '=' '{if($1=="_trust_ver"){print $2}}') - downstream_ddr=$(curl --fail -X GET -s "https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/$commit/device/testing/u-boot-pine64-pinenote/APKBUILD" | awk -F '=' '{if($1=="_ddr_ver"){print $2}}') + downstream_trust=$(curl --fail -X GET -s "https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/$commit/device/community/u-boot-pine64-pinenote/APKBUILD" | awk -F '=' '{if($1=="_trust_ver"){print $2}}') + downstream_ddr=$(curl --fail -X GET -s "https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/$commit/device/community/u-boot-pine64-pinenote/APKBUILD" | awk -F '=' '{if($1=="_ddr_ver"){print $2}}') # compares versions and creates newline in out_of_date if problematic if [ "$upstream_trust" != "$downstream_trust" ]; then From 082f68fe6e5c6eafcf0590414ffbf75e707ceaa9 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Fri, 20 Feb 2026 11:20:01 -0500 Subject: [PATCH 06/16] ci: zotero, track minor release --- .forgejo/bin/check_ver.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index 6ee8a59..dbb36cc 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -125,7 +125,24 @@ for pkg in $owned_by_you; do echo "$pkg new Firefox $upstream_fx_ver version available" echo "$pkg(fx_ver) $downstream_fx_ver $upstream_fx_ver $repo $release" >> out_of_date fi - upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[]' | head -n1) + + if [[ "$minor_only" == *all* || "$minor_only" == *$pkg* ]] && [[ "$minor_only" != *-$pkg* ]]; then + # continues when package version scheme is not semantic, but minor_only or fix_only is set + if ! is_semantic $downstream_version; then + echo "$pkg is not semantic, and minor_only is set" + continue + fi + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*.*}.*\").string" | head -n1) + elif [[ "$fix_only" == *all* || "$fix_only" == *$pkg* ]] && [[ "$fix_only" != *-$pkg* ]]; then + # continues when package version scheme is not semantic, but minor_only or fix_only is set + if ! is_semantic $downstream_version; then + echo "$pkg is not semantic, and fix_only is set" + continue + fi + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*}.*\").string" | head -n1) + else + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[]' | head -n1) + fi ;; # aports omits the -beta part of the version freetube) upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/v2/packages/?name=$pkg&distribution=Alpine" | jq -r '.items.[].version' | sed "s|-beta||");; From 2b9b05c2ea34e3412fab5624c42ef0e57f95099c Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Wed, 11 Feb 2026 13:46:55 -0500 Subject: [PATCH 07/16] backports/electron: upgrade to 39.5.2 --- backports/electron/APKBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backports/electron/APKBUILD b/backports/electron/APKBUILD index c57c98e..1c33a73 100644 --- a/backports/electron/APKBUILD +++ b/backports/electron/APKBUILD @@ -1,10 +1,10 @@ # Contributor: lauren n. liberda # Maintainer: Antoine Martin (ayakael) pkgname=electron -pkgver=39.2.7 +pkgver=39.5.2 _gittag=v"${pkgver/_beta/-beta.}" pkgrel=0 -_chromium=142.0.7444.235 +_chromium=142.0.7444.265 _copium_tag=142.0 _depot_tools=495b23b39aaba2ca3b55dd27cadc523f1cb17ee6 pkgdesc="Electron cross-platform desktop toolkit" @@ -565,7 +565,7 @@ lang() { } sha512sums=" -6dc7161f6df396e2b7569b0a607e264b43a2d7215de65164dc2ca04c019df93ea0a67dec2490071c09c8a03f90605faaf3880f2d843f838bb5d841bba204c298 electron-v39.2.7-142.0.7444.235.tar.zst +c276420c2e046b92fd1ac42e4fbf88acc928f2c072fbe2abd68ee2770b86cf22e5e6b29239e07ec73598089d5d382400ecf552c6f5df4f6931f45f9edc479490 electron-v39.5.2-142.0.7444.265.tar.zst 30b298549804e7753b0b639b72417ba081e964676862b6c7d73ad73cdf806883f20e4a4b36e67a6c375eaf2dd97686cf21b90b062400d3b61fba86da4d239bfa copium-142.0.tar.gz 69b45005451ccd69c354b4c2910e92371cb801665f5e300dbecd36f8bc4ce68e77a431b5dac07c0937787debb4e93b7aadefa0a1e76c4ae334d2547ca3ca14ff 0001-hotfix-ignore-a-new-warning-in-rust-1.89.patch dc254dd79e135aeac3e9c03eb055e3bc17980fc213f8c4d8d7921a575be7f9c26b91f110a6dcb01c0a824a7d9375c09f8a61c8858c20c11d79c03f873e2cb3f9 compiler.patch From bdf8db631ff1ccab9068b8d784527528b14ad4e6 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sat, 21 Feb 2026 22:09:00 -0500 Subject: [PATCH 08/16] ci: do not track py3-moto on community --- .forgejo/workflows/check-community.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/check-community.yml b/.forgejo/workflows/check-community.yml index ee6d624..3349848 100644 --- a/.forgejo/workflows/check-community.yml +++ b/.forgejo/workflows/check-community.yml @@ -35,7 +35,7 @@ jobs: ISSUE_TOKEN: ${{ secrets.issue_token }} LABEL_NUMBER: 13 fix_only: all -git-annex - skip_package: dotnet9-stage0 dotnet8-stage0 py3-boto3 py3-botocore dotnet10-stage0 + skip_package: dotnet9-stage0 dotnet8-stage0 py3-boto3 py3-botocore dotnet10-stage0 py3-moto steps: - name: Environment setup run: apk add grep coreutils gawk curl wget bash nodejs git jq sed From bf05457a549e5bdd636f6b031bdd49888b9fd83d Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Fri, 6 Mar 2026 17:15:52 -0500 Subject: [PATCH 09/16] ci: add py3-django to v3.23 check --- .forgejo/workflows/check-community.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/check-community.yml b/.forgejo/workflows/check-community.yml index 3349848..da55632 100644 --- a/.forgejo/workflows/check-community.yml +++ b/.forgejo/workflows/check-community.yml @@ -36,6 +36,7 @@ jobs: LABEL_NUMBER: 13 fix_only: all -git-annex skip_package: dotnet9-stage0 dotnet8-stage0 py3-boto3 py3-botocore dotnet10-stage0 py3-moto + add_package: py3-django steps: - name: Environment setup run: apk add grep coreutils gawk curl wget bash nodejs git jq sed From f95ce5a9be0c9f6d83207eabf447e2213158b572 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 9 Mar 2026 12:52:06 -0400 Subject: [PATCH 10/16] ci: track LTS releases on py3-django --- .forgejo/bin/check_ver.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index dbb36cc..f97bf88 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -159,6 +159,15 @@ for pkg in $owned_by_you; do pkg="$pkg(${upstream_version/.*})" fi ;; + # we want to track LTS (*.2) releases + py3-django) + if [[ "$fix_only" == *all* || "$fix_only" == *$pkg* ]] || [[ "$minor_only" == *all* || "$minor_only" == *$pkg* ]]; then + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*}.*\").string" | head -n1) + else + + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[] | select(test("^[0-9]+\\.[0-9]+\\.[0-9]+$")) | select(split(".") | .[1] | tonumber | . == 2)' | head -n1) + fi + ;; # we want to track LTS (even releases) rather than latest arm-trusted-firmware) if [[ "$fix_only" == *all* || "$fix_only" == *$pkg* ]] || [[ "$minor_only" == *all* || "$minor_only" == *$pkg* ]]; then From a9eec5bb0c71ec5c07df37b5043ce9c069abbf70 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 16 Mar 2026 13:57:51 -0400 Subject: [PATCH 11/16] pmos: track main, not master --- .forgejo/workflows/check-pmos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/check-pmos.yml b/.forgejo/workflows/check-pmos.yml index 750f608..2a9e9c3 100644 --- a/.forgejo/workflows/check-pmos.yml +++ b/.forgejo/workflows/check-pmos.yml @@ -11,7 +11,7 @@ jobs: container: image: alpine:latest env: - downstream: http://mirror.postmarketos.org/postmarketos/master + downstream: http://mirror.postmarketos.org/postmarketos/main ISSUE_TOKEN: ${{ secrets.issue_token }} LABEL_NUMBER: 14 skip_package: device-clockworkpi-uconsole-radxa-cm5 device-pine64-pinenote u-boot-radxa-cm5 From 942efcb452669261b6f6a1c61e6fd1e24c3fae6c Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 16 Mar 2026 14:12:13 -0400 Subject: [PATCH 12/16] ci: main=edge repo --- .forgejo/bin/check_ver.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index f97bf88..d71ce0f 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -32,6 +32,7 @@ arch=$(apk --print-arch) # add special case for postmarketos [ "$release" == "postmarketos" ] && { release=$repo; repo="pmos"; arch="aarch64"; } [ "$release" == "master" ] && release=edge +[ "$release" == "main" ] && release=edge is_semantic() { local downstream_version_dot=${1//[^.]} From dc91bde87438e67bf2b5c456077573e3ab9a09fe Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Fri, 3 Apr 2026 23:52:46 -0400 Subject: [PATCH 13/16] user/dmenu-user: rebuild against py3.14 --- user/dmenu-user/APKBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/dmenu-user/APKBUILD b/user/dmenu-user/APKBUILD index d932e9f..17de1f8 100644 --- a/user/dmenu-user/APKBUILD +++ b/user/dmenu-user/APKBUILD @@ -13,7 +13,7 @@ _patchlist=" xyw border " -pkgrel=5 +pkgrel=6 pkgdesc="A patch-friendly dmenu distribution" arch="all" url="https://github.com/jaimecgomezz/dmenu" From 8dcb20fe89711badf40898a423f9d888f94965cd Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Sun, 5 Apr 2026 01:28:39 -0400 Subject: [PATCH 14/16] ci: filter out bad dotnet10-runtime versions --- .forgejo/bin/check_ver.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index d71ce0f..58fc33e 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -198,7 +198,7 @@ for pkg in $owned_by_you; do upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/141853" | jq -r ".stable_versions.[] | match(\"${downstream_version::-2}.*\").string" | head -n 1) ;; dotnet*-runtime) - upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/220385" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*}.*\").string" | head -n 1) + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/220385" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*}..\").string" | sort -r | head -n 1) ;; # removes last bit in github tag from usbboot release, as not needed raspberrypi-usbboot) curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[]' | head -n1 | sed 's|-.*||';; From 28b39bcf50fdf8921ef91f9f6c15f8d524bacc23 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 6 Apr 2026 22:46:52 -0400 Subject: [PATCH 15/16] ci: track linux-clockworkpi-radxa-cm5 instead of linux-radxa --- .forgejo/bin/check_ver.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index 58fc33e..3a262d3 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -189,9 +189,9 @@ for pkg in $owned_by_you; do pkg="$pkg(${upstream_version%.*})" fi ;; - # track linux-radxa against BSP kernel (usually got awful late - linux-radxa) - upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[]' | head -n1) + # track linux-clockworkpi-uconsole-radxa-cm5 against BSP kernel (usually got awful late + linux-clockworkpi-uconsole-radxa-cm5) + upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/linux-radxa" | jq -r '.stable_versions.[]' | head -n1) upstream_version=${upstream_version/-*} ;; dotnet*-sdk|dotnet*-stage0) From c53f6269d7b33f460ac5558671db33c1da4b3a18 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Mon, 6 Apr 2026 22:48:19 -0400 Subject: [PATCH 16/16] ci: track linux-postmarketos-rockchip --- .forgejo/bin/check_ver.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/bin/check_ver.sh b/.forgejo/bin/check_ver.sh index 3a262d3..f613dea 100755 --- a/.forgejo/bin/check_ver.sh +++ b/.forgejo/bin/check_ver.sh @@ -177,8 +177,8 @@ for pkg in $owned_by_you; do upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/Alpine/$pkg" | jq -r '.stable_versions.[] | select(test("^[0-9]+\\.[0-9]+\\.[0-9]+$")) | select(split(".") | .[1] | tonumber | . % 2 == 0)' | head -n1) fi ;; - # track linux-pine64-pinenote against latest - linux-pine64-pinenote) + # track linux-pine64-pinenote, linux-postmarketos-pinenote against latest + linux-pine64-pinenote|linux-postmarketos-rockchip) upstream_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/315000" | jq -r ".stable_versions.[] | match(\"${downstream_version%.*}.*\").string" | head -n1) latest_version=$(curl --fail -X GET -s -H 'Content-Type: application/json' "https://release-monitoring.org/api/project/315000" | jq -r ".stable_versions.[]" | head -n1)