Skip to content

Instantly share code, notes, and snippets.

@pascal08
Created January 21, 2018 19:32
Show Gist options
  • Save pascal08/f24ed0d3e9828615338b7285e5979ff2 to your computer and use it in GitHub Desktop.
Save pascal08/f24ed0d3e9828615338b7285e5979ff2 to your computer and use it in GitHub Desktop.
PHP semver check with GIT
{
"require": {
"tomzx/php-semver-checker": "^0.11.0"
}
}
#!/bin/sh
SEMVER_PATH="semver-before" # Folder to perform semver-check (must be equal to source-before in semver-config.json)
RELATIVE_REPO_PATH="" # Set path of repository directory relative to this file
SEMVER_CONFIG_FILE="semver-config.json" # Semver config file path relative to repository directory
# Solve path to repository directory
RD=$(pwd)/$RELATIVE_REPO_PATH
# Temporary semver check directory
SD=$RD$SEMVER_PATH
# Check if folder to perform semver-check already exists
if [ -d "$SD" ]; then
echo "Directory $SD already exists and could not be used to perform semver-check."
exit 1
fi
# Create exact copy of repository
git clone $RD $SD &>/dev/null
# Revert copy of repository one commit
cd $SD && git checkout HEAD~1 &>/dev/null
# Compare repository at HEAD against HEAD minus last commit
cd $RD && vendor/bin/php-semver-checker compare --config $RD$SEMVER_CONFIG_FILE
# Delete temporary copy of repository
rm -rf $SD
echo "Semver check completed!"
{
"source-before": "./semver-before/",
"source-after": "./",
"exclude-before": "vendor,Tests",
"exclude-after": "vendor,Tests,semver-before"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment