diff --git a/scripts/cleanup.pl b/scripts/cleanup.pl index c19bb89..8903703 100755 --- a/scripts/cleanup.pl +++ b/scripts/cleanup.pl @@ -3,30 +3,25 @@ use strict; use warnings; # -------------------------------------- -# -- Drone variables -# -------------------------------------- -my $drone_url="$ENV{'DRONE_SYSTEM_PROTO'}://$ENV{'DRONE_SYSTEM_HOST'}"; -my $drone_project=$ENV{'DRONE_REPO'}; -my $drone_api="$drone_url/api/repos/$drone_project/builds"; -# -------------------------------------- # -- Gitea variables # -------------------------------------- my $gitea_url=$ENV{'GITEA_URL'} || 'https://git.badhouseplants.net/api/v1'; my $gitea_org=$ENV{'GITEA_ORG'} || 'badhouseplants'; my $gitea_package=$ENV{'GITEA_PACKAGE'} || 'badhouseplants-net'; my $gitea_api="$gitea_url/packages/$gitea_org/container/$gitea_package"; +my $gitea_list_api="$gitea_url/packages/$gitea_org?page=1&type=container&q=badhouseplants-net"; my $gitea_token=$ENV{'GITEA_TOKEN'}; my $gitea_user=$ENV{'GITEA_USER'} || $ENV{'DRONE_COMMIT_AUTHOR'}; # --------------------------------------- -# -- Get recent builds from drone-ci +# -- Get tags from Gitea # --------------------------------------- -my $builds = "curl -X 'GET' $drone_api -H 'accept: application/json' | jq -r '.[].after'"; +my $builds = "curl -X 'GET' \"$gitea_list_api\" -H 'accept: application/json' -H \"Authorization: token $gitea_token\" | jq '.[].version'"; my @builds_out = `$builds`; chomp @builds_out; # --------------------------------------- # -- Get a list of all commits + 'latest' # --------------------------------------- -my $commits = "argocd app list -o yaml -l app=badhouseplants | yq '.[].metadata.labels.commit_sha'"; +my $commits = "argocd app list -o yaml -l application=badhouseplants | yq '.[].metadata.labels.commit_sha'"; my @commits_out = `$commits`; chomp @commits_out; push @commits_out, 'latest'; @@ -46,7 +41,7 @@ foreach my $line (@builds_out) { print "Checking if $line is in @commits_out\n\n"; if ( ! grep( /^$line$/, @commits_out ) ) { - my $cmd = "curl -X 'DELETE' -s \"$gitea_api/$line\" -H 'accept: application/json' -u $gitea_user:$gitea_token || true"; + my $cmd = "curl -X 'DELETE' -s \"$gitea_api/$line\" -H 'accept: application/json' -H \"Authorization: token $gitea_token\" || true"; print "Removing ${line}\n\n"; my $output = `$cmd`; print "$output \n";