Add branch name validation configuration
- **Added** `.github/config.conf` for branch name prefixes configuration - **Updated** `ValidateBranchName.yml` to read and utilize branch name prefixes from the config file
This commit is contained in:
2
.github/config.conf
vendored
Normal file
2
.github/config.conf
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
[branch_validation]
|
||||
valid_prefixes = feature/,fix/,refactoring/,testing/,dependabot/,gh-pages
|
22
.github/workflows/ValidateBranchName.yml
vendored
22
.github/workflows/ValidateBranchName.yml
vendored
@@ -13,11 +13,27 @@ jobs:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Read Config File
|
||||
id: config
|
||||
run: |
|
||||
VALID_PREFIXES=$(grep 'valid_prefixes' .github/config.conf | cut -d '=' -f2 | tr -d ' ')
|
||||
echo "VALID_PREFIXES=$VALID_PREFIXES" >> $GITHUB_ENV
|
||||
|
||||
- name: Validate Branch Name on Pull Request
|
||||
run: |
|
||||
BRANCH_NAME=${GITHUB_HEAD_REF}
|
||||
if [[ ! "$BRANCH_NAME" =~ ^(feature\/|fix\/|refactoring\/|testing\/|dependabot\/|gh-pages) ]]; then
|
||||
BRANCH_NAME=${{ github.head_ref }}
|
||||
VALID_PREFIXES_ARRAY=(${VALID_PREFIXES//,/ })
|
||||
VALID=false
|
||||
|
||||
for PREFIX in "${VALID_PREFIXES_ARRAY[@]}"; do
|
||||
if [[ "$BRANCH_NAME" =~ ^$PREFIX ]]; then
|
||||
VALID=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$VALID" = false ]; then
|
||||
echo "Invalid branch name: $BRANCH_NAME"
|
||||
echo "Branch name must start with 'feature/', 'fix/', 'refactoring/', 'testing/', dependabot/" or "gh-pages"
|
||||
echo "Branch name must start with one of the following prefixes: $VALID_PREFIXES"
|
||||
exit 1
|
||||
fi
|
||||
|
Reference in New Issue
Block a user