From 8912331f5b23e1ac3298c62324093afda7edef24 Mon Sep 17 00:00:00 2001 From: thelamer Date: Wed, 16 Feb 2022 20:48:13 -0800 Subject: [PATCH] change trigger and base --- .github/workflows/external_trigger.yml | 3 ++- Jenkinsfile | 18 +++++++++++------- jenkins-vars.yml | 8 +++++--- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml index 6ec3098..e46cec4 100755 --- a/.github/workflows/external_trigger.yml +++ b/.github/workflows/external_trigger.yml @@ -18,7 +18,8 @@ jobs: fi echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_SQLITEBROWSER_MASTER\". ****" echo "**** Retrieving external version ****" - EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/linuxgndu/sqlitebrowser/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: sqlitebrowser' | awk -F ': ' '/Version/{print $2;exit}') + EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + && awk '/^P:'"sqlitebrowser"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://') if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then echo "**** Can't retrieve external version, exiting ****" FAILURE_REASON="Can't retrieve external version for sqlitebrowser branch master" diff --git a/Jenkinsfile b/Jenkinsfile index 8e1c804..245d3e0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -24,7 +24,10 @@ pipeline { DOCKERHUB_IMAGE = 'linuxserver/sqlitebrowser' DEV_DOCKERHUB_IMAGE = 'lsiodev/sqlitebrowser' PR_DOCKERHUB_IMAGE = 'lspipepr/sqlitebrowser' - DIST_IMAGE = 'ubuntu' + DIST_IMAGE = 'alpine' + DIST_TAG = '3.15' + DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.15/community/' + DIST_REPO_PACKAGES = 'sqlitebrowser' MULTIARCH='true' CI='true' CI_WEB='true' @@ -99,14 +102,15 @@ pipeline { /* ######################## External Release Tagging ######################## */ - // If this is a custom command to determine version use that command - stage("Set tag custom bash"){ + // If this is an alpine repo change for external version determine an md5 from the version string + stage("Set tag Alpine Repo"){ steps{ script{ env.EXT_RELEASE = sh( - script: ''' curl -sX GET http://ppa.launchpad.net/linuxgndu/sqlitebrowser/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: sqlitebrowser' | awk -F ': ' '/Version/{print $2;exit}' ''', + script: '''curl -sL "${DIST_REPO}x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \ + && awk '/^P:'"${DIST_REPO_PACKAGES}"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://' ''', returnStdout: true).trim() - env.RELEASE_LINK = 'custom_command' + env.RELEASE_LINK = 'alpine_repo' } } } @@ -909,11 +913,11 @@ pipeline { "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' echo "Pushing New release for Tag" sh '''#! /bin/bash - echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json + echo "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json echo '{"tag_name":"'${META_TAG}'",\ "target_commitish": "master",\ "name": "'${META_TAG}'",\ - "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start + "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Repo Changes:**\\n\\n' > start printf '","draft": false,"prerelease": false}' >> releasebody.json paste -d'\\0' start releasebody.json > releasebody.json.done curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 21b31ff..a0ae331 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -2,8 +2,7 @@ # jenkins variables project_name: docker-sqlitebrowser -external_type: na -custom_version_command: "curl -sX GET http://ppa.launchpad.net/linuxgndu/sqlitebrowser/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: sqlitebrowser' | awk -F ': ' '/Version/{print $2;exit}'" +external_type: alpine_repo release_type: stable release_tag: latest ls_branch: master @@ -15,7 +14,10 @@ repo_vars: - DOCKERHUB_IMAGE = 'linuxserver/sqlitebrowser' - DEV_DOCKERHUB_IMAGE = 'lsiodev/sqlitebrowser' - PR_DOCKERHUB_IMAGE = 'lspipepr/sqlitebrowser' - - DIST_IMAGE = 'ubuntu' + - DIST_IMAGE = 'alpine' + - DIST_TAG = '3.15' + - DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.15/community/' + - DIST_REPO_PACKAGES = 'sqlitebrowser' - MULTIARCH='true' - CI='true' - CI_WEB='true'