Skip to content

Commit

Permalink
Remove _master binary usage (#5002)
Browse files Browse the repository at this point in the history
* don't download _master binary

* adjust tests
  • Loading branch information
Googlom authored Aug 15, 2024
1 parent c537a85 commit f902f48
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
3 changes: 1 addition & 2 deletions src/com/sap/piper/PiperGoUtils.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,13 @@ class PiperGoUtils implements Serializable {
}
}

def fallbackUrl = 'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master'
def fallbackUrl = 'https://github.com/SAP/jenkins-library/releases/latest/download/piper'
def piperBinUrl = (version == 'master') ? fallbackUrl : "https://github.com/SAP/jenkins-library/releases/download/${version}/piper"

boolean downloaded = downloadGoBinary(piperBinUrl)
if (!downloaded) {
//Inform that no Piper binary is available for used library branch
steps.echo ("Not able to download go binary of Piper for version ${version}")
//Fallback to master version & throw error in case this fails
steps.retry(12) {
if (!downloadGoBinary(fallbackUrl)) {
steps.sleep(10)
Expand Down
12 changes: 6 additions & 6 deletions test/groovy/com/sap/piper/PiperGoUtilsTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@ class PiperGoUtilsTest extends BasePiperTest {
})

shellCallRule.setReturnValue('[ -x ./piper ]', 1)
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master\'', '200')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper\'', '200')

piperGoUtils.unstashPiperBin()
assertThat(shellCallRule.shell.size(), is(4))
assertThat(shellCallRule.shell[1].toString(), is('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master\''))
assertThat(shellCallRule.shell[1].toString(), is('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper\''))
assertThat(shellCallRule.shell[2].toString(), is('chmod +x piper'))
assertThat(shellCallRule.shell[3].toString(), is('./piper version'))
}
Expand Down Expand Up @@ -102,7 +102,7 @@ class PiperGoUtilsTest extends BasePiperTest {
shellCallRule.setReturnValue('[ -x ./piper ]', 1)
shellCallRule.setReturnValue('./piper version', "1.2.3")
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/download/notAvailable/piper\'', '404')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master\'', '200')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper\'', '200')

// this mocks utils.unstash - mimic stash not existing
helper.registerAllowedMethod("unstash", [String.class], { stashFileName ->
Expand All @@ -113,7 +113,7 @@ class PiperGoUtilsTest extends BasePiperTest {
assertThat(shellCallRule.shell.size(), is(5))
assertThat(shellCallRule.shell[0].toString(), is('[ -x ./piper ]'))
assertThat(shellCallRule.shell[1].toString(), is('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/download/notAvailable/piper\''))
assertThat(shellCallRule.shell[2].toString(), is('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master\''))
assertThat(shellCallRule.shell[2].toString(), is('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper\''))
assertThat(shellCallRule.shell[3].toString(), is('chmod +x piper'))
assertThat(shellCallRule.shell[4].toString(), is ('./piper version'))
}
Expand All @@ -125,7 +125,7 @@ class PiperGoUtilsTest extends BasePiperTest {

shellCallRule.setReturnValue('[ -x ./piper ]', 1)
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/download/notAvailable/piper\'', '404')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master\'', '500')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper\'', '500')

helper.registerAllowedMethod("unstash", [String.class], { stashFileName ->
return []
Expand All @@ -142,7 +142,7 @@ class PiperGoUtilsTest extends BasePiperTest {

shellCallRule.setReturnValue('[ -x ./piper ]', 1)
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/download/notAvailable/piper\'', '404')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper_master\'', '500')
shellCallRule.setReturnValue('curl --insecure --silent --retry 5 --retry-max-time 240 --location --write-out \'%{http_code}\' --output piper \'https://github.com/SAP/jenkins-library/releases/latest/download/piper\'', '500')

helper.registerAllowedMethod("unstash", [String.class], { stashFileName ->
return []
Expand Down

0 comments on commit f902f48

Please sign in to comment.