github.com/cloudberrydb/gpbackup@v1.0.3-0.20240118031043-5410fd45eed6/ci/scripts/build-go-binaries.bash (about)

     1  #!/bin/bash
     2  
     3  set -ex
     4  
     5  export GOPATH=$(pwd)/go
     6  export PATH=$PATH:${GOPATH}/bin
     7  
     8  # Build gpbackup
     9  pushd ${GOPATH}/src/github.com/cloudberrydb/gpbackup
    10    make depend build unit
    11    version=$(git describe --tags | perl -pe 's/(.*)-([0-9]*)-(g[0-9a-f]*)/\1+dev.\2.\3/')
    12  popd
    13  echo ${version} > go_components/gpbackup_version
    14  
    15  if [[ "gpbackup version ${version}" != "$(${GOPATH}/bin/gpbackup --version)" ]]; then
    16    echo "unexpected difference in version recorded for gpbackup: expected ${version} to be same as:"
    17    ${GOPATH}/bin/gpbackup --version
    18    exit 1
    19  fi
    20  
    21  # Build s3 plugin
    22  pushd ${GOPATH}/src/github.com/cloudberrydb/gpbackup-s3-plugin
    23    make depend build unit
    24    s3_plugin_version=$(git describe --tags | perl -pe 's/(.*)-([0-9]*)-(g[0-9a-f]*)/\1+dev.\2.\3/')
    25  popd
    26  echo ${s3_plugin_version} > go_components/s3_plugin_version
    27  
    28  if [[ "gpbackup_s3_plugin version ${s3_plugin_version}" != "$(${GOPATH}/bin/gpbackup_s3_plugin --version)" ]]; then
    29    echo "unexpected difference in version recorded for gpbackup_s3_plugin: expected ${s3_plugin_version} to be same as:"
    30    ${GOPATH}/bin/gpbackup_s3_plugin --version
    31    exit 1
    32  fi
    33  
    34  # Build gpbackup-manager
    35  pushd ${GOPATH}/src/github.com/pivotal/gp-backup-manager
    36    make depend build unit
    37    gpbackup_manager_version=$(git describe --tags | perl -pe 's/(.*)-([0-9]*)-(g[0-9a-f]*)/\1+dev.\2.\3/')
    38  popd
    39  echo ${gpbackup_manager_version} > go_components/gpbackup_manager_version
    40  
    41  # gpbackup_manager puts newline in front of version line
    42  output=$(${GOPATH}/bin/gpbackup_manager --version | grep gpbackup)
    43  if [[ "gpbackup_manager version ${gpbackup_manager_version}" != "$output" ]]; then
    44    echo "unexpected difference in version recorded for gpbackup_manager: expected 'gpbackup_manager version ${gpbackup_manager_version}' to be same as: '$output'"
    45    exit 1
    46  fi
    47  
    48  cp ${GOPATH}/bin/gpbackup go_components/
    49  cp ${GOPATH}/bin/gpbackup_helper go_components/
    50  cp ${GOPATH}/bin/gprestore go_components/
    51  cp ${GOPATH}/bin/gpbackup_s3_plugin go_components/
    52  cp ${GOPATH}/bin/gpbackup_manager go_components/
    53  cd go_components && tar cfz go_components.tar.gz *