mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-01 19:17:58 +00:00
Github Action to check deprecations in PR (#19666)
* deprecation check * adding script * add execute permission to script * revert changes * adding the script back * added working script for local and GHA * give execute permissions * updating revgrep * adding changes to script, tools * run go mod tidy * removing default ref * make bootstrap * adding to makefile
This commit is contained in:
52
scripts/deprecations-checker.sh
Executable file
52
scripts/deprecations-checker.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
# Copyright (c) HashiCorp, Inc.
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
# This script is sourced into the shell running in a Github Actions workflow.
|
||||
|
||||
# Usage:
|
||||
# To check deprecations locally using the script, follow these steps:
|
||||
# From the repository root or within a package folder, execute deprecations-checker.sh
|
||||
# Optionally: to only show deprecations in changed files between the current branch and
|
||||
# a specific branch, pass the other branch name as an argument to the script.
|
||||
#
|
||||
# For example:
|
||||
# ./scripts/deprecations-checker.sh (or) make deprecations
|
||||
# ./scripts/deprecations-checker.sh main (or) make ci-deprecations
|
||||
#
|
||||
# If no branch name is specified, the command will show all usage of deprecations in the code.
|
||||
#
|
||||
# GitHub Actions runs this against the PR's base ref branch.
|
||||
|
||||
# Staticcheck uses static analysis to finds bugs and performance issues, offers simplifications,
|
||||
# and enforces style rules.
|
||||
# Here, it is used to check if a deprecated function, variable, constant or field is used.
|
||||
|
||||
# Run staticcheck
|
||||
echo "Performing deprecations check: running staticcheck"
|
||||
|
||||
# Identify repository name
|
||||
if [ -z $2 ]; then
|
||||
# local repository name
|
||||
repositoryName=$(basename `git rev-parse --show-toplevel`)
|
||||
else
|
||||
# github repository name from deprecated-functions-checker.yml
|
||||
repositoryName=$2
|
||||
fi
|
||||
|
||||
# Modify the command with the correct build tag based on repository
|
||||
if [ $repositoryName == "vault-enterprise" ]; then
|
||||
staticcheckCommand=$(echo "staticcheck ./... -tags=enterprise")
|
||||
else
|
||||
staticcheckCommand=$(echo "staticcheck ./...")
|
||||
fi
|
||||
|
||||
# If no compare branch name is specified, output all deprecations
|
||||
# Else only output the deprecations from the changes added
|
||||
if [ -z $1 ]
|
||||
then
|
||||
$staticcheckCommand | grep deprecated
|
||||
else
|
||||
# GitHub Actions will use this to find only changes wrt PR's base ref branch
|
||||
# revgrep CLI tool will return an exit status of 1 if any issues match, else it will return 0
|
||||
$staticcheckCommand | grep deprecated 2>&1 | revgrep "$(git merge-base HEAD "origin/$1")"
|
||||
fi
|
||||
Reference in New Issue
Block a user