5555 .[] |
5656 select(.tag_name != "processed") |
5757 .assets[] |
58- select(.name | test("^[a-z0- 9]+_[0-9a-z. -]+_[a-z0-9 ]+_[a-z0-9 ]+_[a-z ]+\\.zip$")) |
58+ select(.name | test("^[a-zA-Z0- 9]+_[a-zA-Z0-9.\\ -]+_[a-zA-Z0-9.\\- ]+_[a-zA-Z0-9_\\- ]+_[a-zA-Z0-9_\\- ]+\\.zip$")) |
5959 @base64
6060 ' > assets_to_process.txt
6161 existing_assets=$(curl -s "https://api.github.com/repos/$REPO/releases/$PROCESSED_RELEASE_ID/assets")
@@ -67,14 +67,20 @@ jobs:
6767 name=$(echo "$asset" | jq -r '.name')
6868 url=$(echo "$asset" | jq -r '.browser_download_url')
6969 echo "Processing $name"
70- if [[ "$name" =~ ^([a-z0- 9]+)_([0-9a-z\ .\-]+)_([a-z0-9 ]+)_([a-z0-9 ]+)_([a-z ]+)\.zip$ ]]; then
70+ if [[ "$name" =~ ^([a-zA-Z0- 9]+)_([a-zA-Z0-9 .\-]+)_([a-zA-Z0-9.\- ]+)_([a-zA-Z0-9_\- ]+)_([a-zA-Z0-9_\- ]+)\.zip$ ]]; then
7171 os="${BASH_REMATCH[1]}"
7272 version="${BASH_REMATCH[2]}"
7373 codename="${BASH_REMATCH[3]}"
7474 arch="${BASH_REMATCH[4]}"
7575 variant="${BASH_REMATCH[5]}"
76- rootfs_file="${os}-${version}-${arch}-${variant}-rootfs.squashfs"
77- incus_file="${os}-${version}-${arch}-${variant}-incus.tar.xz"
76+ # 新增标准化映射
77+ case "$arch" in
78+ x86_64) std_arch="amd64" ;;
79+ aarch64) std_arch="arm64" ;;
80+ *) std_arch="$arch" ;;
81+ esac
82+ rootfs_file="${os}-${version}-${std_arch}-${variant}-rootfs.squashfs"
83+ incus_file="${os}-${version}-${std_arch}-${variant}-incus.tar.xz"
7884 rootfs_asset_id=$(echo "$existing_assets" | jq -r --arg name "$rootfs_file" '.[] | select(.name == $name) | .id // empty')
7985 incus_asset_id=$(echo "$existing_assets" | jq -r --arg name "$incus_file" '.[] | select(.name == $name) | .id // empty')
8086 if [ -n "$rootfs_asset_id" ]; then
96102 --arg os "$os" \
97103 --arg version "$version" \
98104 --arg arch "$arch" \
105+ --arg std_arch "$std_arch" \
99106 --arg variant "$variant" \
100107 --arg rootfs_file "$rootfs_file" \
101108 --arg incus_file "$incus_file" \
@@ -105,6 +112,7 @@ jobs:
105112 os: $os,
106113 version: $version,
107114 arch: $arch,
115+ std_arch: $std_arch,
108116 variant: $variant,
109117 rootfs_file: $rootfs_file,
110118 incus_file: $incus_file
@@ -139,6 +147,7 @@ jobs:
139147 os=$(echo "$file_info" | jq -r '.os')
140148 version=$(echo "$file_info" | jq -r '.version')
141149 arch=$(echo "$file_info" | jq -r '.arch')
150+ std_arch=$(echo "$file_info" | jq -r '.std_arch')
142151 variant=$(echo "$file_info" | jq -r '.variant')
143152 rootfs_file=$(echo "$file_info" | jq -r '.rootfs_file')
144153 incus_file=$(echo "$file_info" | jq -r '.incus_file')
@@ -181,6 +190,7 @@ jobs:
181190 jq --arg os "$os" \
182191 --arg version "$version" \
183192 --arg arch "$arch" \
193+ --arg std_arch "$std_arch" \
184194 --arg variant "$variant" \
185195 --arg rootfs_url "$rootfs_url" \
186196 --arg incus_url "$incus_url" \
@@ -193,6 +203,7 @@ jobs:
193203 os: $os,
194204 version: $version,
195205 arch: $arch,
206+ std_arch: $std_arch,
196207 variant: $variant,
197208 rootfs_url: $rootfs_url,
198209 incus_url: $incus_url,
0 commit comments