Skip to content

Just merging changes from remote #29

Just merging changes from remote

Just merging changes from remote #29

Workflow file for this run

name: Build, Test and Version plugin
on:
push:
branches:
- master
jobs:
build-test-version-and-create-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get base version from VERSION.md
id: get_base_version
run: echo "BASE_VERSION=$(cat VERSION.md)" >> $GITHUB_OUTPUT
- name: Get latest tag
id: get_latest_tag
run: echo "LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo v0.0)" >> $GITHUB_OUTPUT
- name: Determine new version
id: determine_version
run: |
base_version="${{ steps.get_base_version.outputs.BASE_VERSION }}"
# Remove 'v' prefix if present
base_version="${base_version#v}"
# Split the base version into major and minor
IFS='.' read -r major minor <<< "$base_version"
# Get the latest tag that matches the major version
latest_tag=$(git tag -l "v$major.*" | sort -V | tail -n1)
if [ -n "$latest_tag" ]; then
# If a matching tag exists, increment its minor version
current_minor=$(echo $latest_tag | awk -F. '{print $2}')
new_minor=$((current_minor + 1))
else
# If no matching tag exists, use the minor version from VERSION.md
new_minor=$minor
fi
# Construct the new version
new_version="$major.$new_minor"
new_version_with_v="v$new_version"
echo "NEW_VERSION=$new_version" >> $GITHUB_OUTPUT
echo "NEW_VERSION_WITH_V=$new_version_with_v" >> $GITHUB_OUTPUT
- name: Build plugin
run: |
chmod +x build.sh
./build.sh ${{ steps.determine_version.outputs.NEW_VERSION }}
- name: Run plugin check
uses: wordpress/plugin-check-action@v1
with:
build-dir: build/betterportal-theme-embedded
- name: Upload plugin test results
uses: actions/upload-artifact@v4
with:
name: plugin-test-results
path: /home/runner/work/_temp/plugin-check-results.txt
- name: Create and push new tag
if: success()
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git tag ${{ steps.determine_version.outputs.NEW_VERSION_WITH_V }}
git push origin ${{ steps.determine_version.outputs.NEW_VERSION_WITH_V }}
- name: Trigger build and release
if: success()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh workflow run release.yml --ref ${{ steps.determine_version.outputs.NEW_VERSION_WITH_V }}
- name: Cleanup
if: always()
run: |
chmod +x cleanup.sh
./cleanup.sh
outputs:
new_version: ${{ steps.determine_version.outputs.NEW_VERSION_WITH_V }}