github.com/elopio/cli@v6.21.2-0.20160902224010-ea909d1fdb2f+incompatible/ci/cli/tasks/update-brew-formula.yml (about)

     1  ---
     2  platform: linux
     3  image: docker:///cloudfoundry/cli-ci
     4  
     5  inputs:
     6  - name: final-cli
     7    path: cli
     8  - name: cf-cli-osx-tarball
     9  - name: homebrew-tap
    10  
    11  outputs:
    12  - name: update-brew-formula-output
    13  
    14  params:
    15    OUTPUT_PATH: update-brew-formula-output
    16  
    17  run:
    18    path: bash
    19    args:
    20    - -c
    21    - |
    22      set -ex
    23  
    24      pushd cf-cli-osx-tarball
    25        CLI_SHA256=$(shasum -a 256 cf-cli_*_osx.tgz | cut -d ' ' -f 1)
    26      popd
    27  
    28      CLI_VERSION=$(cat cli/VERSION)
    29  
    30      pushd homebrew-tap
    31        cat <<EOF > cf-cli.rb
    32      require 'formula'
    33  
    34      class CfCli < Formula
    35        homepage 'https://code.cloudfoundry.org/cli'
    36        head 'https://cli.run.pivotal.io/edge?arch=macosx64&source=homebrew'
    37        url 'https://cli.run.pivotal.io/stable?release=macosx64-binary&version=${CLI_VERSION}&source=homebrew'
    38        version '${CLI_VERSION}'
    39        sha256 '${CLI_SHA256}'
    40  
    41        depends_on :arch => :x86_64
    42  
    43        conflicts_with "pivotal/tap/cloudfoundry-cli", :because => "the Pivotal tap ships an older cli distribution"
    44        conflicts_with "caskroom/cask/cloudfoundry-cli", :because => "the caskroom tap is not the official distribution"
    45  
    46        def install
    47          bin.install 'cf'
    48        end
    49  
    50        test do
    51          system "#{bin}/cf"
    52        end
    53      end
    54      EOF
    55  
    56      git add cf-cli.rb
    57      if ! [ -z "$(git status --porcelain)"];
    58      then
    59        git config --global user.email "cf-cli-eng@pivotal.io"
    60        git config --global user.name "Concourse CI"
    61        git commit -m "Release ${CLI_VERSION}"
    62      else
    63          echo "no new version to commit"
    64      fi
    65      popd
    66  
    67      cp -R homebrew-tap $OUTPUT_PATH