Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
2a0ee6e
Auto increment pre-release version to 2.3.3 [skip ci]
action Nov 26, 2023
dde9764
Optimize 'Gradient2' 'when 'ModifyMesh' called
bluefallsky Jan 28, 2024
25360f5
Merge branch 'development' into release
SimonDarksideJ Feb 26, 2024
8301af7
Merge pull request #466 from bluefallsky/release
SimonDarksideJ Apr 21, 2024
8674445
fix radial triangle add order(#384)
bluefallsky Apr 28, 2024
3f3e481
Merge pull request #475 from bluefallsky/enhance/gradient2-fix-radial…
SimonDarksideJ Jun 3, 2024
10b90c4
Keep Item Rotation configuration.
JavierMonton Aug 19, 2024
0e8a588
UILineConnector point array calculation
hugoymh Oct 2, 2024
0886131
add refresh on change in global scale change
hugoymh Oct 2, 2024
e5c329f
Merge pull request #479 from JavierMonton/release
SimonDarksideJ Oct 2, 2024
0747258
Merge branch 'development' into uilineconnector
SimonDarksideJ Oct 2, 2024
2d5c46e
Merge pull request #480 from hugoymh/uilineconnector
SimonDarksideJ Oct 4, 2024
45e5ab6
Update workflows to latest
SimonDarksideJ Oct 4, 2024
16e8f17
Fix spacing
SimonDarksideJ Oct 4, 2024
f8a24f5
Merge pull request #482 from Unity-UI-Extensions/feature/workflows
SimonDarksideJ Oct 4, 2024
b20f567
Auto increment pre-release version to 2.3.3-pre.1 [skip ci]
action Oct 4, 2024
39a3b8d
force ScrollRect.content setup (#485)
hugoymh Mar 29, 2025
7b47f86
Compile flag support for Unity6 (#493)
hugoymh Nov 27, 2025
e445537
UILineConnector point array calculation (#495)
Dover8 Nov 27, 2025
83364ba
Disabiling automatic automation until actions can be updated (known i…
SimonDarksideJ Nov 27, 2025
d489c9f
Update automation to latest for existing release (#516)
SimonDarksideJ Dec 2, 2025
fa5ad49
Initial check-in for Unity 6 update - thank you Unity for continuing …
SimonDarksideJ Dec 7, 2025
077415a
Pivot can now be used as reference point when drawing lines (#490)
Moderbord May 27, 2026
24e4ede
Feature/unity6 (#521)
SimonDarksideJ Jun 18, 2026
3a0d442
Restore automations
SimonDarksideJ Jun 19, 2026
1b84c79
Merge branch 'release' of https://github.com/Unity-UI-Extensions/com.…
SimonDarksideJ Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/development-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Publish development branch on Merge

on:
pull_request:
types:
- closed
branches:
- development
# On close of PR targeting development

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:
release_on_merge:
if: github.event.pull_request.merged == true
name: Tag and Publish UPM package
uses: ./.github/workflows/upversionandtagrelease.yml
with:
build-host: ubuntu-latest
build-type: pre-release
secrets: inherit
70 changes: 70 additions & 0 deletions .github/workflows/getpackageversionfrompackage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Get the Package version from a UPM Package.json file

on:
workflow_call:
inputs:
build-host:
required: true
type: string
version-file-path:
description: 'Optional, specify a path to search for the upm package.json file. Use this if validation fails to find a valid package.json file.\n **Note, Version file MUST contain the attribute "Unity" with the full Unity version expected, e.g. "2020.2.3f1"'
type: string
required: false
outputs:
packageversion:
description: "Returns the version of the UPM package"
value: ${{ jobs.get_package_version.outputs.upmpackageversion }}

jobs:
get_package_version:
name: Get required Package version from UPM Package
runs-on: ${{ inputs.build-host }}
outputs:
upmpackageversion: ${{ steps.getVersion.outputs.packageversion }}
steps:
- name: Script Version
run: |
echo "::group::Script Versioning"
$scriptVersion = "1.0.0"
echo "Build Script Version: $scriptVersion"
echo "::endgroup::"
shell: pwsh
- uses: actions/checkout@v7
with:
submodules: recursive
clean: true
- id: getVersion
name: 'Get Package Version Number'
run: |
echo "::group::Validating input"

$versionFile = "${{ inputs.version-file-path }}"
if([string]::IsNullOrEmpty($versionFile))
{
echo 'version input was empty, using default'
$versionFile = 'package.json'
}
echo 'Checking for project json at $versionFile'

if ( -not (Test-Path -Path $versionFile) ) {
Write-Error "Failed to find a valid package.json file"
exit 1
}

echo "::endgroup::"

echo "::group::Package Version UPM check"

$package_json = Get-Content -Path $versionFile | ConvertFrom-Json
$packageVersion = $package_json.version

if([string]::IsNullOrEmpty($packageVersion)) {
Write-Error "Project.json version number does not exist or is empty"
exit 1
}

echo "packageversion=$packageVersion" >> $env:GITHUB_OUTPUT

echo "Detected version is $packageVersion"
echo "::endgroup::"
shell: pwsh
91 changes: 91 additions & 0 deletions .github/workflows/main-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Publish main branch and increment version

on:
pull_request:
types:
- closed
branches:
- release

jobs:
# Get Version to tag and release the branch, no up-version - [no-ver] included in PR title
validate-environment:
if: github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'no-ver')
name: Get Version from UPM package
uses: ./.github/workflows/getpackageversionfrompackage.yml
with:
build-host: ubuntu-latest

# Perform tagging
release-Package-only:
needs: validate-environment
name: Release package only, no upversion
uses: ./.github/workflows/tagrelease.yml
with:
build-host: ubuntu-latest
version: ${{ needs.validate-environment.outputs.packageversion }}
secrets: inherit

# Up version the release and publish major release
upversion-major-Package:
if: github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'no-ver') == false && contains(github.event.pull_request.title, 'major-release')
name: Major Version package and release
uses: ./.github/workflows/upversionandtagrelease.yml
with:
build-host: ubuntu-latest
build-type: major
secrets: inherit

# Up version the release and publish minor release
upversion-minor-Package:
if: github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'no-ver') == false && contains(github.event.pull_request.title, 'minor-release')
name: Minor Version package and release
uses: ./.github/workflows/upversionandtagrelease.yml
with:
build-host: ubuntu-latest
build-type: minor
secrets: inherit

# Up version the release and publish patch release (default)
upversion-patch-Package:
if: github.event.pull_request.merged == true && contains(github.event.pull_request.title, 'no-ver') == false && contains(github.event.pull_request.title, 'minor-release') == false && contains(github.event.pull_request.title, 'major-release') == false
name: Patch Version package and release
uses: ./.github/workflows/upversionandtagrelease.yml
with:
build-host: ubuntu-latest
build-type: patch-release
secrets: inherit

release-Complete:
if: ${{ always() }}
needs: [upversion-major-Package, upversion-minor-Package, upversion-patch-Package, release-Package-only]
name: Release complete
runs-on: ubuntu-latest
steps:
- name: Script Version
run: echo "Release done, updating Development"

# Refresh the development branch with the main publish
refresh-development:
if: ${{ always() }}
needs: [release-Complete]
name: Refresh development branch
uses: ./.github/workflows/refreshbranch.yml
with:
build-host: ubuntu-latest
target-branch: development
source-branch: main
secrets: inherit

# Up version the development branch ready for future development
upversion-development:
if: ${{ always() }}
needs: [refresh-development]
name: UpVersion the development branch for the next release
uses: ./.github/workflows/upversionandtagrelease.yml
with:
build-host: ubuntu-latest
build-type: patch
target-branch: development
createTag: false
secrets: inherit
43 changes: 43 additions & 0 deletions .github/workflows/refreshbranch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Refresh branch

on:
workflow_call:
inputs:
build-host:
required: true
type: string
target-branch:
required: true
type: string
source-branch:
required: true
type: string

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:
packageRelease:
name: Refresh ${{ inputs.target-branch }} branch from ${{ inputs.source-branch }} branch
runs-on: ${{ inputs.build-host }}
steps:
- name: Script Version
run: |
echo "::group::Script Versioning"
$scriptVersion = "1.0.1"
echo "Build Script Version: $scriptVersion"
echo "::endgroup::"
shell: pwsh
- uses: actions/checkout@v7
with:
ref: ${{ inputs.target-branch }}
clean: true
token: ${{ secrets.GIT_PAT }}
- name: Refresh from Source Branch
run: |
git pull origin ${{ inputs.source-branch }}
git commit -m "Branch ${{ inputs.target-branch }} updated with changes from ${{ inputs.source-branch }} [skip ci]"
git push origin ${{ inputs.target-branch }}
echo "Branch ${{ inputs.target-branch }} updated with changes from ${{ inputs.source-branch }}"
shell: pwsh
77 changes: 77 additions & 0 deletions .github/workflows/tagrelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Tag Release

on:
workflow_call:
inputs:
build-host:
required: true
type: string
version:
required: true
type: string

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:
packageRelease:
name: Package UPM Project and tag
runs-on: ${{ inputs.build-host }}
steps:
- name: Script Version
run: |
echo "::group::Script Versioning"
$scriptVersion = "1.0.2"
echo "Build Script Version: $scriptVersion"
echo "::endgroup::"
shell: pwsh
- uses: actions/checkout@v7
with:
fetch-depth: 0
submodules: recursive
clean: true
token: ${{ secrets.GIT_PAT }}
- uses: actions/setup-node@v6
- name: Set Github vars
run: |
if([string]::IsNullOrEmpty('${{ secrets.GIT_USER_NAME }}')){
if([string]::IsNullOrEmpty('${{ secrets.GIT_USER_NAME }}')){
$gitUser = "action"
$gitEmail = "action@github.com"
}
else {
$gitUser = "${GITHUB_ACTOR}"
$gitEmail = "$gitUser@users.noreply.github.com"
}
}
else {
$gitUser = "${{ secrets.GIT_USER_NAME }}"
$gitEmail = "$gitUser@users.noreply.github.com"
}
git config --global user.email "$gitUser@users.noreply.github.com"
git config --global user.name "$gitUser"
shell: pwsh
- name: Check if Tag Exists
run: |
$tagVersion = "${{ inputs.version }}"
$tags = git tag
echo "Tags found are [$tags], searching for [$tagVersion]"
foreach ($tag in $tags)
{
if($tag.Trim() -eq "$tagVersion")
{
Write-Error "$tagVersion tag already exists"
exit 1
}
}
shell: pwsh
- name: Create tag and push
run: |
$tagVersion = "${{ inputs.version }}"
git tag -fa "v$tagVersion" "${GITHUB_SHA}" -m "v$tagVersion Release [skip ci]"
git push origin "v$tagVersion" --force
shell: pwsh
Loading
Loading