Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ inputs:
sfdx-auth-url:
description: Authorize a Salesforce org using an SFDX auth URL
required: false
tarball-url:
description: Supply a URL to a XZip'd tarball containing the version of the SFDX CLI to install. If omitted or blank, it will install the "latest" CLI
required: false
runs:
using: 'node12'
main: 'index.js'
Expand Down
25 changes: 17 additions & 8 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,23 @@ try {
}

function installSFDX(){
var download = 'wget https://developer.salesforce.com/media/salesforce-cli/sfdx-linux-amd64.tar.xz -P /tmp'
var tarballBase = 'https://developer.salesforce.com/media/salesforce-cli/sfdx/channels/stable'
var tarballFile = 'sfdx-linux-x64.tar.xz'

var tarballOverride = core.getInput('tarball-url')
if(tarballOverride ){
tarballBase = tarballOverride.substr(0,tarballOverride.lastIndexOf('/'))
tarballFile = tarballOverride.substr(tarballOverride.lastIndexOf('/')+1)
}

var download = 'wget ' + tarballBase + '/' + tarballFile + ' -q -P /tmp'
var createDir = 'mkdir sfdx'
var unzip = 'tar xJf /tmp/sfdx-linux-amd64.tar.xz -C sfdx --strip-components 1'
var install = './sfdx/install'
var clean = 'rm -r ./sfdx'
exec(download+' && '+createDir+' && '+unzip+' && '+install+' && '+clean, function(error, stdout, stderr){
var unzip = 'tar xJf /tmp/' + tarballFile + ' -C sfdx --strip-components 1'
var install = 'echo "`pwd`/sfdx/bin" >> $GITHUB_PATH'
var version = 'sfdx/bin/sfdx --version && sfdx/bin/sfdx plugins --core'
exec(download+' && '+createDir+' && '+unzip+' && '+install+' && '+version, function(error, stdout, stderr){
if(error) throw(stderr)
core.debug(stdout)
core.info(stdout)
if(core.getInput('sfdx-auth-url')) createAuthFile()
})
}
Expand All @@ -28,9 +37,9 @@ function createAuthFile(){

function authSFDX(){
var params = '--setdefaultdevhubusername --setdefaultusername -a SFDX-ENV'
exec('sfdx auth:sfdxurl:store -f /tmp/sfdx_auth.txt '+params, function(error, stdout, stderr){
exec('sfdx/bin/sfdx auth:sfdxurl:store -f /tmp/sfdx_auth.txt '+params, function(error, stdout, stderr){
if(error) throw(stderr)
core.debug(stdout)
core.info(stdout)
})
}