55 lines
1.7 KiB
Bash
Executable File
55 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
repo_root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
|
test_root=$(mktemp -d)
|
|
trap 'rm -rf "${test_root}"' EXIT
|
|
|
|
git init --bare -q "${test_root}/remote.git"
|
|
git init -q -b main "${test_root}/app"
|
|
cd "${test_root}/app"
|
|
git config user.name Test
|
|
git config user.email test@example.com
|
|
mkdir erp_operations
|
|
cat > pyproject.toml <<'TOML'
|
|
[project]
|
|
name = "erp_operations"
|
|
dynamic = ["version"]
|
|
TOML
|
|
printf '%s\n' '__version__ = "0.0.1"' > erp_operations/__init__.py
|
|
git add .
|
|
git commit -qm initial
|
|
git remote add origin "${test_root}/remote.git"
|
|
git push -qu origin main
|
|
git switch -qc develop
|
|
git push -qu origin develop
|
|
|
|
export INPUT_VERSION_FILE=erp_operations/__init__.py
|
|
export INPUT_BASE_BRANCH=main
|
|
export INPUT_TARGET_BRANCH=develop
|
|
export INPUT_BUMP=patch
|
|
export INPUT_REMOTE=origin
|
|
export INPUT_COMMIT_MESSAGE='chore(release): prepare v{version}'
|
|
export INPUT_GIT_USER_NAME='ERP App Release Bot'
|
|
export INPUT_GIT_USER_EMAIL='actions@example.com'
|
|
export INPUT_BUMP_MY_VERSION_VERSION=1.5.1
|
|
export INPUT_PUSH=true
|
|
export RUNNER_TEMP="${test_root}"
|
|
export GITHUB_OUTPUT="${test_root}/output"
|
|
|
|
"${repo_root}/scripts/bump.sh"
|
|
! grep -q '^\[tool.bumpversion\]' pyproject.toml
|
|
grep -q '^__version__ = "0.0.2"$' erp_operations/__init__.py
|
|
grep -q '^bumped=true$' "${GITHUB_OUTPUT}"
|
|
grep -q '^previous-version=0.0.1$' "${GITHUB_OUTPUT}"
|
|
grep -q '^current-version=0.0.2$' "${GITHUB_OUTPUT}"
|
|
[[ "$(git log -1 --format=%s)" == "chore(release): prepare v0.0.2" ]]
|
|
[[ "$(git rev-parse HEAD)" == "$(git --git-dir="${test_root}/remote.git" rev-parse develop)" ]]
|
|
|
|
: > "${GITHUB_OUTPUT}"
|
|
"${repo_root}/scripts/bump.sh"
|
|
grep -q '^bumped=false$' "${GITHUB_OUTPUT}"
|
|
[[ "$(git rev-list --count main..develop)" == "1" ]]
|
|
|
|
echo "Integration test passed"
|