github.com/argoproj/argo-cd/v3@v3.2.1/hack/bump-major-version.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  # This script bumps the major version of Argo CD. Before cutting a new major release, run this script and open a PR.
     4  
     5  # Get the current version from go.mod.
     6  CURRENT_VERSION=$(grep 'module github.com/argoproj/argo-cd' go.mod | awk '{print $2}' | sed 's/.*\/v//')
     7  NEXT_VERSION=$((CURRENT_VERSION + 1))
     8  
     9  echo "Upgrading from v${CURRENT_VERSION} to v${NEXT_VERSION}..."
    10  
    11  # sed commands in this script use -i.bak for compatibility with both GNU sed and BSD sed.
    12  
    13  for file in .golangci.yaml .goreleaser.yaml .mockery.yaml Makefile Procfile; do
    14    echo "Incrementing the major version in $file..."
    15    sed -i.bak "s~github\.com/argoproj/argo-cd/v${CURRENT_VERSION}~github\.com/argoproj/argo-cd/v${NEXT_VERSION}~g" "$file" && echo "  Updated $file" && rm "$file.bak"
    16  done
    17  
    18  for file in hack/generate-proto.sh hack/update-codegen.sh hack/update-openapi.sh; do
    19    echo "Incrementing the major version in $file..."
    20    sed -i.bak "s~v${CURRENT_VERSION}~v${NEXT_VERSION}~g" "$file" && echo "  Update $file" && rm "$file.bak"
    21  done
    22  
    23  echo "Incrementing the major version in proto files..."
    24  find . -name '*.proto' -not -path "./vendor/*" -not -path "./dist/*" -exec sed -i.bak "s~github\.com/argoproj/argo-cd/v${CURRENT_VERSION}~github\.com/argoproj/argo-cd/v${NEXT_VERSION}~g" {} \; -exec echo "  Updated" {} \; -exec rm {}.bak \;
    25  find . -name '*.proto' -not -path "./vendor/*" -not -path "./dist/*" -exec sed -i.bak "s~github\.com\.argoproj\.argo_cd\.v${CURRENT_VERSION}~github\.com\.argoproj\.argo_cd\.v${NEXT_VERSION}~g" {} \; -exec echo "  Updated" {} \; -exec rm {}.bak \;
    26  
    27  echo "Incrementing the major version in go files..."
    28  find . -name '*.go' -not -path "./vendor/*" -not -path "./dist/*" -exec sed -i.bak "s~github\.com/argoproj/argo-cd/v${CURRENT_VERSION}~github\.com/argoproj/argo-cd/v${NEXT_VERSION}~g" {} \; -exec echo "  Updated" {} \; -exec rm {}.bak \;
    29  
    30  echo "Incrementing the major version in go.mod..."
    31  sed -i.bak "s~github\.com/argoproj/argo-cd/v${CURRENT_VERSION}~github\.com/argoproj/argo-cd/v${NEXT_VERSION}~g" go.mod && echo "  Updated go.mod" && rm go.mod.bak
    32  
    33  # shellcheck disable=SC2016
    34  echo 'Finished! Now run `make codegen-local && make lint-local && make test-local` to ensure everything is working as expected.'