github.com/nginxinc/kubernetes-ingress@v1.12.5/hack/prepare-minor-release.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  # Updates the files required for a new minor release. Run this script in the release branch.
     4  #
     5  # Usage:
     6  # hack/prepare-minor-release.sh ic-version helm-chart-version
     7  #
     8  # Example:
     9  # hack/prepare-minor-release.sh 1.5.5 0.3.5
    10  
    11  FILES_TO_UPDATE_IC_VERSION=(
    12      Makefile
    13      README.md
    14      deployments/daemon-set/nginx-ingress.yaml
    15      deployments/daemon-set/nginx-plus-ingress.yaml
    16      deployments/deployment/nginx-ingress.yaml
    17      deployments/deployment/nginx-plus-ingress.yaml
    18      deployments/helm-chart/Chart.yaml
    19      deployments/helm-chart/README.md
    20      deployments/helm-chart/values-icp.yaml
    21      deployments/helm-chart/values-plus.yaml
    22      deployments/helm-chart/values.yaml
    23  )
    24  
    25  FILE_TO_UPDATE_HELM_CHART_VERSION=( deployments/helm-chart/Chart.yaml )
    26  
    27  DOCS_TO_UPDATE_FOLDER=docs-web
    28  
    29  if [ $# != 2 ];
    30  then
    31      echo "Invalid number of arguments" 1>&2
    32      echo "Usage: $0 ic-version helm-chart-version" 1>&2
    33      exit 1
    34  fi
    35  
    36  ic_version=$1
    37  helm_chart_version=$2
    38  
    39  prev_ic_version=$(echo $ic_version | awk -F. '{ printf("%s\\.%s\\.%d", $1, $2, $3-1) }')
    40  prev_helm_chart_version=$(echo $helm_chart_version | awk -F. '{ printf("%s\\.%s\\.%d", $1, $2, $3-1) }')
    41  
    42  sed -i "" "s/$prev_ic_version/$ic_version/g" ${FILES_TO_UPDATE_IC_VERSION[*]}
    43  sed -i "" "s/$prev_helm_chart_version/$helm_chart_version/g" ${FILE_TO_UPDATE_HELM_CHART_VERSION[*]}
    44  
    45  # update repo CHANGELOG
    46  sed -i "" "1r hack/changelog-template.txt" CHANGELOG.md
    47  sed -i "" -e "s/%%TITLE%%/### $ic_version/g" -e "s/%%IC_VERSION%%/$ic_version/g" -e "s/%%HELM_CHART_VERSION%%/$helm_chart_version/g" CHANGELOG.md
    48  
    49  # update docs CHANGELOG
    50  sed -i "" "1r hack/changelog-template.txt" $DOCS_TO_UPDATE_FOLDER/releases.md 
    51  sed -i "" -e "s/%%TITLE%%/## NGINX Ingress Controller $ic_version/g" -e "s/%%IC_VERSION%%/$ic_version/g" -e "s/%%HELM_CHART_VERSION%%/$helm_chart_version/g" $DOCS_TO_UPDATE_FOLDER/releases.md
    52  
    53  # update docs
    54  find $DOCS_TO_UPDATE_FOLDER -type f -name "*.md" -exec sed -i "" "s/v$prev_ic_version/v$ic_version/g" {} +
    55  find $DOCS_TO_UPDATE_FOLDER -type f -name "*.rst" -exec sed -i "" "s/v$prev_ic_version/v$ic_version/g" {} +
    56  
    57  # update IC version in the technical-specification doc
    58  sed -i "" "s/$prev_ic_version/$ic_version/g" $DOCS_TO_UPDATE_FOLDER/technical-specifications.md 
    59  
    60  # update IC version in the building ingress controller doc
    61  sed -i "" "s/$prev_ic_version/$ic_version/g" $DOCS_TO_UPDATE_FOLDER/installation/building-ingress-controller-image.md
    62  
    63  # update IC version in the helm doc  
    64  sed -i "" "s/$prev_ic_version/$ic_version/g" $DOCS_TO_UPDATE_FOLDER/installation/installation-with-helm.md