@@ -26,22 +26,34 @@ jobs:
26
26
- name : Check Docker Hub
27
27
id : check_docker_hub
28
28
run : |
29
- DOCKER_HUB_TAGS=$(curl -s https://registry.hub.docker.com/v2/repositories/na2na/misskey-na2na/tags | jq -r '.results[] | .name')
30
- if [ $(echo $DOCKER_HUB_TAGS | grep -c $MISSKEY_VERSION) -eq 1 ]; then
31
- echo "Tag $MISSKEY_VERSION already exists on Docker Hub."
32
- else
33
- echo "Tag $MISSKEY_VERSION does not exist on Docker Hub."
34
- echo "tag_exists=false" >> $GITHUB_OUTPUT
35
- echo "MISSKEY_VERSION=$MISSKEY_VERSION" >> $GITHUB_OUTPUT
36
- fi
29
+ digests=$(curl -s 'https://registry.na2na.dev/api/v2.0/projects/misskey/repositories/misskey-na2na/artifacts?with_tag=false&with_label=false&with_scan_overview=false&with_sbom_overview=false&with_signature=false&with_immutable_status=false&with_accessory=false' | jq -r '.[].digest')
30
+ is_exists=false
31
+ check_tag_exists() {
32
+ local digest=$1
33
+ local version=$2
34
+ tags=$(curl -s "https://registry.na2na.dev/api/v2.0/projects/misskey/repositories/misskey-na2na/artifacts/$digest/tags" | jq -r '.[].name')
35
+ if echo "$tags" | grep -q "^$version$"; then
36
+ is_exists=true
37
+ echo "Tag $version already exists for digest $digest."
38
+ return 0
39
+ else
40
+ echo "Tag $version does not exist for digest $digest."
41
+ is_exists=false
42
+ echo "MISSKEY_VERSION=$version" >> $GITHUB_OUTPUT
43
+ fi
44
+ }
45
+ for digest in $digests; do
46
+ check_tag_exists "$digest" "$MISSKEY_VERSION"
47
+ done
48
+ echo "tag_exists=$is_exists" >> $GITHUB_OUTPUT
37
49
38
50
Build-and-Push-to-Docker-Hub :
39
51
needs :
40
52
- Prepare
41
53
if : ${{ needs.Prepare.outputs.tag_exists == 'false' }}
42
54
with :
43
55
MISSKEY_VERSION : ${{ needs.Prepare.outputs.MISSKEY_VERSION }}
44
- IMAGE_REPOSITORY : na2na
56
+ IMAGE_REPOSITORY : misskey
45
57
IMAGE_NAME : misskey-na2na
46
58
uses : ./.github/workflows/image-push-for-misskey-na2na-release.yml
47
59
secrets : inherit
0 commit comments