From 6b0690aa9a1add1f192a8472112333b5ae64441a Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 20:34:08 -0500 Subject: [PATCH 1/8] Disco Bot and VT push (windows only for now) --- .gitlab-ci.yml | 113 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 89 insertions(+), 24 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1d1ea93..a715cbe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,6 +35,7 @@ stages: - package - pre-deploy - deploy + - publish default: image: ${DEFAULT_IMAGE} @@ -284,30 +285,6 @@ upload-Google: gcloud config set project $GCLOUD_PROJECT_ID gsutil -m cp -R artifacts/* $GCLOUD_DEPLOY_PATH/ -# this only creates a "source code release" -- gitlab doesn't specify binaries -# except as links to external storage, which is suboptimal for now - -sourcerelease: - stage: deploy - image: registry.gitlab.com/gitlab-org/release-cli:latest - variables: - GIT_STRATEGY: none - rules: - - if: '$CI_COMMIT_TAG =~ /^(v).*/' - release: - tag_name: $CI_COMMIT_TAG - name: GridTracker $CI_COMMIT_TAG - description: GridTracker release $CI_COMMIT_TAG - ref: '$CI_COMMIT_SHA' - assets: - links: - - name: Release Packages for $CI_COMMIT_TAG - url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/ - external: true - link_type: package - script: - - echo 'Release for $CI_COMMIT_TAG' - update_arch_aur: stage: deploy image: archlinux:base-devel @@ -349,3 +326,91 @@ update_arch_aur: cd gridtracker git add PKGBUILD .SRCINFO && git commit -m "upgpkg: gridtracker ${CI_COMMIT_TAG#v}" && git push +# this only creates a "source code release" -- gitlab doesn't specify binaries +# except as links to external storage, which is suboptimal for now + +sourcerelease: + stage: publish + image: registry.gitlab.com/gitlab-org/release-cli:latest + variables: + GIT_STRATEGY: none + rules: + - if: '$CI_COMMIT_TAG =~ /^(v).*/' + release: + tag_name: $CI_COMMIT_TAG + name: GridTracker $CI_COMMIT_TAG + description: GridTracker release $CI_COMMIT_TAG + ref: '$CI_COMMIT_SHA' + assets: + links: + - name: Windows Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-Installer.${CI_COMMIT_TAG#v}.exe + external: true + link_type: package + - name: Mac x64 ZIP Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip + external: true + link_type: package + - name: Linux Arm32 GZIP Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz + external: true + link_type: package + - name: Linux Arm64 GZIP Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz + external: true + link_type: package + - name: Linux x86 GZIP Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz + external: true + link_type: package + - name: Linux x64 GZIP Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz + external: true + link_type: package + - name: Debian Linux Package for $CI_COMMIT_TAG + url: https://downloads.gridtracker.org/$CI_COMMIT_TAG/gridtracker-${CI_COMMIT_TAG#v}_all.deb + external: true + link_type: package + script: + - echo 'Release for $CI_COMMIT_TAG' + +virustotal_push: + stage: publish + variables: + GIT_STRATEGY: none + rules: + - if: '$CI_COMMIT_TAG =~ /^(v).*/' + script: + - | + echo "Pushing release URLs to VirusTotal" + BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" + curl --request POST --url https://www.virustotal.com/api/v3/urls --form url=${BASEURL}GridTracker-Installer.${CI_COMMIT_TAG#v}.exe --header 'x-apikey: $VT_API_KEY + +discord_notify: + stage: publish + variables: + GIT_STRATEGY: none + rules: + - if: '$CI_COMMIT_TAG =~ /^(v).*/' + script: + - | + echo "Notifying Discord #developer-den that a release has built" + BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" + WIN_MD5=($(md5sum artifacts/GridTracker-Installer.${CI_COMMIT_TAG#v}.exe)) + MAC_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip)) + LINARM32_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz)) + LINARM64_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz)) + LINx86_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz)) + LINx64_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz)) + DEB_MD5=($(md5sum artifacts/gridtracker_${CI_COMMIT_TAG#v}_all.deb)) + curl -H "Content-Type: application/json" -X POST $DISCORD_WEBHOOK --data-binary @- << EOM + { + "content": "**GridTracker-Installer.${CI_COMMIT_TAG#v}.exe**\nmd5: ${WIN_MD5} - ${BASEURL}GridTracker-Installer.${CI_COMMIT_TAG#v}.exe\n\n**GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip**\nMD5: ${MAC_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz\n\n**gridtracker_${CI_COMMIT_TAG#v}_all.deb**\nMD5: ${DEB_MD5} - ${BASEURL}gridtracker_${CI_COMMIT_TAG#v}_all.deb", + "tts": false, + "embeds": [], + "components": {}, + "username": "GridTracker Release Bot", + "avatar_url": "http://gridtracker.org/images/icons/gridtracker32.png" + } + EOM + echo "Discord notified" From ebd7fc9bd8a06511c76015f8753d22235fd996ea Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 20:38:31 -0500 Subject: [PATCH 2/8] include test tags --- .gitlab-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a715cbe..86dc1d4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,8 +26,6 @@ include: - template: "Security/Secret-Detection.gitlab-ci.yml" - template: "Security/SAST.gitlab-ci.yml" - - stages: - build - test @@ -379,7 +377,7 @@ virustotal_push: variables: GIT_STRATEGY: none rules: - - if: '$CI_COMMIT_TAG =~ /^(v).*/' + - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/ script: - | echo "Pushing release URLs to VirusTotal" @@ -391,7 +389,7 @@ discord_notify: variables: GIT_STRATEGY: none rules: - - if: '$CI_COMMIT_TAG =~ /^(v).*/' + - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/ script: - | echo "Notifying Discord #developer-den that a release has built" From fd4d0852b5ccd3903e4296680c54b97370c1440e Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 20:40:29 -0500 Subject: [PATCH 3/8] fix missing ' --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 86dc1d4..aa1ae11 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -377,7 +377,7 @@ virustotal_push: variables: GIT_STRATEGY: none rules: - - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/ + - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/' script: - | echo "Pushing release URLs to VirusTotal" @@ -389,7 +389,7 @@ discord_notify: variables: GIT_STRATEGY: none rules: - - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/ + - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/' script: - | echo "Notifying Discord #developer-den that a release has built" From 5e4b33eaa781d6cff98889ae82480c17514f8f51 Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 20:55:40 -0500 Subject: [PATCH 4/8] fix if test tag --- .gitlab-ci.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa1ae11..c34b1c3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -381,8 +381,9 @@ virustotal_push: script: - | echo "Pushing release URLs to VirusTotal" + VER=`node version.js` BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" - curl --request POST --url https://www.virustotal.com/api/v3/urls --form url=${BASEURL}GridTracker-Installer.${CI_COMMIT_TAG#v}.exe --header 'x-apikey: $VT_API_KEY + curl --request POST --url https://www.virustotal.com/api/v3/urls --form url=${BASEURL}GridTracker-Installer.${VER}.exe --header 'x-apikey: $VT_API_KEY discord_notify: stage: publish @@ -394,16 +395,16 @@ discord_notify: - | echo "Notifying Discord #developer-den that a release has built" BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" - WIN_MD5=($(md5sum artifacts/GridTracker-Installer.${CI_COMMIT_TAG#v}.exe)) - MAC_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip)) - LINARM32_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz)) - LINARM64_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz)) - LINx86_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz)) - LINx64_MD5=($(md5sum artifacts/GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz)) - DEB_MD5=($(md5sum artifacts/gridtracker_${CI_COMMIT_TAG#v}_all.deb)) + WIN_MD5=($(md5sum artifacts/GridTracker-Installer.${VER}.exe)) + MAC_MD5=($(md5sum artifacts/GridTracker-${VER}-mac-x64.zip)) + LINARM32_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-arm32.tar.gz)) + LINARM64_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-arm64.tar.gz)) + LINx86_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-x86.tar.gz)) + LINx64_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-x64.tar.gz)) + DEB_MD5=($(md5sum artifacts/gridtracker_${VER}_all.deb)) curl -H "Content-Type: application/json" -X POST $DISCORD_WEBHOOK --data-binary @- << EOM { - "content": "**GridTracker-Installer.${CI_COMMIT_TAG#v}.exe**\nmd5: ${WIN_MD5} - ${BASEURL}GridTracker-Installer.${CI_COMMIT_TAG#v}.exe\n\n**GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip**\nMD5: ${MAC_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-mac-x64.zip\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-arm32.tar.gz\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-arm64.tar.gz\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-x86.tar.gz\n\n**GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5} - ${BASEURL}GridTracker-${CI_COMMIT_TAG#v}-linux-x64.tar.gz\n\n**gridtracker_${CI_COMMIT_TAG#v}_all.deb**\nMD5: ${DEB_MD5} - ${BASEURL}gridtracker_${CI_COMMIT_TAG#v}_all.deb", + "content": "**GridTracker-Installer.${VER}.exe**\nmd5: ${WIN_MD5} - ${BASEURL}GridTracker-Installer.${VER}.exe\n\n**GridTracker-${VER}-mac-x64.zip**\nMD5: ${MAC_MD5} - ${BASEURL}GridTracker-${VER}-mac-x64.zip\n\n**GridTracker-${VER}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm32.tar.gz\n\n**GridTracker-${VER}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm64.tar.gz\n\n**GridTracker-${VER}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5} - ${BASEURL}GridTracker-${VER}-linux-x86.tar.gz\n\n**GridTracker-${VER}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5} - ${BASEURL}GridTracker-${VER}-linux-x64.tar.gz\n\n**gridtracker_${VER}_all.deb**\nMD5: ${DEB_MD5} - ${BASEURL}gridtracker_${VER}_all.deb", "tts": false, "embeds": [], "components": {}, From 5e4b8f280cd86191acfecf80841396ced7510ee4 Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 21:09:27 -0500 Subject: [PATCH 5/8] oops --- .gitlab-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c34b1c3..ce5fe4d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -374,8 +374,6 @@ sourcerelease: virustotal_push: stage: publish - variables: - GIT_STRATEGY: none rules: - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/' script: @@ -387,8 +385,6 @@ virustotal_push: discord_notify: stage: publish - variables: - GIT_STRATEGY: none rules: - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/' script: From 1e215a0ba2e4f9987e1f8aa3a0a4280c8d2f5239 Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 21:29:04 -0500 Subject: [PATCH 6/8] fix missing " in vt, fix missing artifacts path in disco --- .gitlab-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ce5fe4d..cd490d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -381,10 +381,13 @@ virustotal_push: echo "Pushing release URLs to VirusTotal" VER=`node version.js` BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" - curl --request POST --url https://www.virustotal.com/api/v3/urls --form url=${BASEURL}GridTracker-Installer.${VER}.exe --header 'x-apikey: $VT_API_KEY + curl --request POST --url "https://www.virustotal.com/api/v3/urls" --form url="${BASEURL}GridTracker-Installer.${VER}.exe" --header "x-apikey: ${VT_API_KEY}" discord_notify: stage: publish + artifacts: + paths: + - artifacts/ rules: - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/' script: From 50827ea5e58af5cd7e54ce84ab7a16070920fc1e Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 21:52:03 -0500 Subject: [PATCH 7/8] doh --- .gitlab-ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cd490d6..e1481f8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -385,15 +385,13 @@ virustotal_push: discord_notify: stage: publish - artifacts: - paths: - - artifacts/ rules: - if: '$CI_COMMIT_TAG =~ /^(v|test_).*/' script: - | echo "Notifying Discord #developer-den that a release has built" BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" + VER=`node version.js` WIN_MD5=($(md5sum artifacts/GridTracker-Installer.${VER}.exe)) MAC_MD5=($(md5sum artifacts/GridTracker-${VER}-mac-x64.zip)) LINARM32_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-arm32.tar.gz)) From 72624fe853aafddb97d1f10b107684372a3c1e3a Mon Sep 17 00:00:00 2001 From: nr0q Date: Fri, 20 Oct 2023 21:57:21 -0500 Subject: [PATCH 8/8] why can I not spell --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e1481f8..4c0ae5e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -380,7 +380,7 @@ virustotal_push: - | echo "Pushing release URLs to VirusTotal" VER=`node version.js` - BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" + BASEURL="http://downloads.gridtracker.org/${CI_COMMIT_TAG}/" curl --request POST --url "https://www.virustotal.com/api/v3/urls" --form url="${BASEURL}GridTracker-Installer.${VER}.exe" --header "x-apikey: ${VT_API_KEY}" discord_notify: @@ -390,7 +390,7 @@ discord_notify: script: - | echo "Notifying Discord #developer-den that a release has built" - BASEURL="http://downloads.gridtracker.og/${CI_COMMIT_TAG}/" + BASEURL="http://downloads.gridtracker.org/${CI_COMMIT_TAG}/" VER=`node version.js` WIN_MD5=($(md5sum artifacts/GridTracker-Installer.${VER}.exe)) MAC_MD5=($(md5sum artifacts/GridTracker-${VER}-mac-x64.zip))