diff --git a/.github/workflows/check-version.yml b/.github/workflows/check-version.yml index 6c414a9..0dbacd9 100644 --- a/.github/workflows/check-version.yml +++ b/.github/workflows/check-version.yml @@ -12,21 +12,32 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + with: + fetch-depth: 0 - - name: Get last Git tag - id: tag + - name: Get previous version from base branch run: | - LAST_TAG=$(git describe --tags --abbrev=0 || echo "v0.0.0") - echo "LAST_TAG=$LAST_TAG" >> $GITHUB_ENV + echo "Base branch (destination of PR): $GITHUB_BASE_REF" + if git show origin/${GITHUB_BASE_REF}:package.json > /dev/null 2>&1; then + VERSION_PREV=$(git show origin/${GITHUB_BASE_REF}:package.json | grep '"version"' | head -1 | sed -E 's/.*"version": *"([^"]+)".*/\1/') + echo "Previous version from base branch: $VERSION_PREV" + else + VERSION_PREV="0.0.0" + echo "No package.json in base branch, using default version: $VERSION_PREV" + fi + echo "VERSION_PREV=$VERSION_PREV" >> $GITHUB_ENV - - name: Get package.json version + - name: Get current version from PR run: | - VERSION=$(grep '"version"' package.json | head -1 | sed -E 's/.*"version": *"([^"]+)".*/\1/') - echo "VERSION=$VERSION" >> $GITHUB_ENV + VERSION_CUR=$(grep '"version"' package.json | head -1 | sed -E 's/.*"version": *"([^"]+)".*/\1/') + echo "Current version in PR: $VERSION_CUR" + echo "VERSION_CUR=$VERSION_CUR" >> $GITHUB_ENV - name: Check version increment run: | - if [ "$VERSION" == "${LAST_TAG#v}" ]; then - echo "Version not incremented! Last tag: $LAST_TAG, package.json: $VERSION" + if [ "$VERSION_CUR" == "$VERSION_PREV" ]; then + echo "Version not incremented! Previous: $VERSION_PREV, current: $VERSION_CUR" exit 1 + else + echo "Version increment check passed: $VERSION_PREV → $VERSION_CUR" fi diff --git a/README.md b/README.md index 520f76a..6dd96f5 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ This package includes the full source code of Functional Behavior Tree (FBT) par 1. **Clear and Concise Behavior Tree Definition** Behavior trees are defined directly in code using functions calls and lambda expressions, resulting in clear and compact logic. -2. **Ease of Debugging** +2. **Ease Debug** The tree definition and execution code are the same, which means you can place breakpoints inside any anonymous delegate, and they will work correctly. No special complex "behaviour tree debugger" is required, you will use your favorite C# IDE. diff --git a/package.json b/package.json index 126fd7d..91849d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.baltin.fbt", - "version": "0.5.0", + "version": "0.5.2", "displayName": "FunctionalBT", "description": "Functional Behavior Tree Design Pattern Implementation", "unity": "2019.3",