From 9f46a57d7b8a7ff1a7b56512c5f7be849391c747 Mon Sep 17 00:00:00 2001 From: Matthew Chambers Date: Tue, 5 Dec 2023 00:38:03 +0000 Subject: [PATCH] Squashed commits '${title}' --- .gitlab-ci.yml | 77 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3bd683b..8a43182 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -140,6 +140,14 @@ linux:package: mkdir -p artifacts echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies" apt-get update && apt-get upgrade -y + apt-get install gnupg -y + curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash + export GPG_TTY=$(tty) + gpg --pinentry-mode loopback --passphrase ${GPG_PASS} --import .secure_files/debiankey.asc + echo ${GPG_TRUST} | gpg --import-ownertrust + echo 'use-agent' >> ~/.gnupg/gpg.conf + echo 'pinentry-mode loopback' >> ~/.gnupg/gpg.conf + echo 'allow-loopback-pinentry' >> ~/.gnupg/gpg-agent.conf echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K" script: - | @@ -157,6 +165,8 @@ linux:package: fi done (cd dist; mv *.tar.gz ../artifacts/) + gpg --batch --no-tty --detach-sign --armor --passphrase ${GPG_PASS} artifacts/GridTracker*x86.tar.gz + gpg --batch --no-tty --detach-sign --armor --passphrase ${GPG_PASS} artifacts/GridTracker*x64.tar.gz echo -e "\e[0Ksection_end:`date +%s`:native_build\e[0K" # This section does debian DEBs echo -e "\e[0Ksection_start:`date +%s`:debian_build\r\e[0KBuilding Debian packages" @@ -230,6 +240,14 @@ arm:package: #dpkg --add-architecture armhf echo -e "\e[0Ksection_start:`date +%s`:apt_get[collapsed=true]\r\e[0KGetting Build Dependencies" apt-get update && apt-get upgrade -y + apt-get install gnupg -y + curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash + export GPG_TTY=$(tty) + gpg --pinentry-mode loopback --passphrase ${GPG_PASS} --import .secure_files/debiankey.asc + echo ${GPG_TRUST} | gpg --import-ownertrust + echo 'use-agent' >> ~/.gnupg/gpg.conf + echo 'pinentry-mode loopback' >> ~/.gnupg/gpg.conf + echo 'allow-loopback-pinentry' >> ~/.gnupg/gpg-agent.conf apt-get build-dep . echo -e "\e[0Ksection_end:`date +%s`:apt_get\r\e[0K" script: @@ -265,6 +283,8 @@ arm:package: cp LICENSE GridTracker-$version-linux-arm64/ tar -czf GridTracker-$version-linux-arm64.tar.gz GridTracker-$version-linux-arm64 mv GridTracker-$version-linux-arm64.tar.gz artifacts/ + gpg --batch --no-tty --detach-sign --armor --passphrase ${GPG_PASS} artifacts/GridTracker*arm32.tar.gz + gpg --batch --no-tty --detach-sign --armor --passphrase ${GPG_PASS} artifacts/GridTracker*arm64.tar.gz echo "we made ARM packages!" ls -laR artifacts @@ -283,6 +303,49 @@ upload-Google: gcloud config set project $GCLOUD_PROJECT_ID gsutil -m cp -R artifacts/* $GCLOUD_DEPLOY_PATH/ +update_deb_repo: + stage: deploy + rules: + - if: '$CI_COMMIT_TAG =~ /^(v|test_|lin_).*/' + before_script: + - | + apt-get update && apt-get upgrade -y + apt-get install apt apt-utils apt-transport-https ca-certificates gnupg -y + echo "deb [signed-by=/usr/share/keyrings/cloud.google.asc] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list + curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | tee /usr/share/keyrings/cloud.google.asc + apt-get update && apt-get install google-cloud-cli -y + curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash + echo $GCP_SERVICE_KEY > gcloud-service-key.json + export GPG_TTY=$(tty) + gpg --pinentry-mode loopback --passphrase ${GPG_PASS} --import .secure_files/debiankey.asc + echo ${GPG_TRUST} | gpg --import-ownertrust + echo 'use-agent' >> ~/.gnupg/gpg.conf + echo 'pinentry-mode loopback' >> ~/.gnupg/gpg.conf + echo 'allow-loopback-pinentry' >> ~/.gnupg/gpg-agent.conf + gcloud auth activate-service-account --key-file gcloud-service-key.json + gcloud config set project $GCLOUD_PROJECT_ID + script: + - | + VER=`node version.js` + mkdir debianrepo + gsutil cp gs://debian.gridtracker.org/debian/* debianrepo/ + cp artifacts/gridtracker_${VER}_all.deb debianrepo/ + cd debianrepo + rm InRelease + rm Release.gpg + apt-ftparchive packages . > Packages + apt-ftparchive release . > Release + gpg --batch --no-tty --passphrase ${GPG_PASS} --clearsign -o InRelease Release + gpg --batch --no-tty --passphrase ${GPG_PASS} -abs -o Release.gpg Release + if [[ ${CI_COMMIT_TAG} = test_* ]] || [[ ${CI_COMMIT_TAG} = lin_* ]] + then + gsutil cp ./* gs://debian.gridtracker.org/test/ + fi + if [[ ${CI_COMMIT_TAG} = v* ]] + then + gsutil cp ./* gs://debian.gridtracker.org/debian/ + fi + update_arch_aur: stage: deploy image: archlinux:base-devel @@ -395,29 +458,29 @@ discord_notify: if [[ ${CI_COMMIT_TAG} = v* ]] || [[ ${CI_COMMIT_TAG} = test_* ]] || [[ ${CI_COMMIT_TAG} = win_* ]] then WIN_MD5=($(md5sum artifacts/GridTracker-Installer.${VER}.exe)) - WIN_STRING="**GridTracker-Installer.${VER}.exe**\nmd5: ${WIN_MD5} - ${BASEURL}GridTracker-Installer.${VER}.exe\n\n" + WIN_STRING="**GridTracker-Installer.${VER}.exe**\nmd5: ${WIN_MD5}\n${BASEURL}GridTracker-Installer.${VER}.exe\n\n" fi if [[ ${CI_COMMIT_TAG} = v* ]] || [[ ${CI_COMMIT_TAG} = test_* ]] || [[ ${CI_COMMIT_TAG} = mac_* ]] then MAC_MD5=($(md5sum artifacts/GridTracker-${VER}-mac-x64.zip)) - MAC_STRING="**GridTracker-${VER}-mac-x64.zip**\nMD5: ${MAC_MD5} - ${BASEURL}GridTracker-${VER}-mac-x64.zip\n\n" + MAC_STRING="**GridTracker-${VER}-mac-x64.zip**\nMD5: ${MAC_MD5}\n${BASEURL}GridTracker-${VER}-mac-x64.zip\n\n" fi if [[ ${CI_COMMIT_TAG} = v* ]] || [[ ${CI_COMMIT_TAG} = test_* ]] || [[ ${CI_COMMIT_TAG} = lin_* ]] then LINARM32_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-arm32.tar.gz)) - LINARM32_STRING="**GridTracker-${VER}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm32.tar.gz\n\n" + LINARM32_STRING="**GridTracker-${VER}-linux-arm32.tar.gz**\nMD5: ${LINARM32_MD5}\n${BASEURL}GridTracker-${VER}-linux-arm32.tar.gz\n${BASEURL}GridTracker-${VER}-linux-arm32.tar.gz.asc\n\n" LINARM64_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-arm64.tar.gz)) - LINARM64_STRING="**GridTracker-${VER}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5} - ${BASEURL}GridTracker-${VER}-linux-arm64.tar.gz\n\n" + LINARM64_STRING="**GridTracker-${VER}-linux-arm64.tar.gz**\nMD5: ${LINARM64_MD5}\n${BASEURL}GridTracker-${VER}-linux-arm64.tar.gz\n${BASEURL}GridTracker-${VER}-linux-arm64.tar.gz.asc\n\n" LINx86_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-x86.tar.gz)) - LINx86_STRING="**GridTracker-${VER}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5} - ${BASEURL}GridTracker-${VER}-linux-x86.tar.gz\n\n" + LINx86_STRING="**GridTracker-${VER}-linux-x86.tar.gz**\nMD5: ${LINx86_MD5}\n${BASEURL}GridTracker-${VER}-linux-x86.tar.gz\n${BASEURL}GridTracker-${VER}-linux-x86.tar.gz.asc\n\n" LINx64_MD5=($(md5sum artifacts/GridTracker-${VER}-linux-x64.tar.gz)) - LINx64_STRING="**GridTracker-${VER}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5} - ${BASEURL}GridTracker-${VER}-linux-x64.tar.gz\n\n" + LINx64_STRING="**GridTracker-${VER}-linux-x64.tar.gz**\nMD5: ${LINx64_MD5}\n${BASEURL}GridTracker-${VER}-linux-x64.tar.gz\n${BASEURL}GridTracker-${VER}-linux-x86.tar.gz.asc\n\n" DEB_MD5=($(md5sum artifacts/gridtracker_${VER}_all.deb)) DEB_STRING="**gridtracker_${VER}_all.deb**\nMD5: ${DEB_MD5} - ${BASEURL}gridtracker_${VER}_all.deb" fi curl -H "Content-Type: application/json" -X POST $DISCORD_WEBHOOK --data-binary @- << EOM { - "content": "${WIN_STRING}${MAC_STRING}${LINARM32_STRING}${LINARM64_STRING}${LINx86_STRING}${LINx64_STRING}${DEB_STRING}", + "content": "${CI_COMMIT_TAG_MESSAGE}\n\n${WIN_STRING}${MAC_STRING}${LINARM32_STRING}${LINARM64_STRING}${LINx86_STRING}${LINx64_STRING}${DEB_STRING}", "tts": false, "embeds": [], "components": {},