Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5f9bafd
refactor: updated license header and automated updates via github wor…
marc-romu Jan 11, 2026
78292d5
refactor: externalized ghjson libraries and fix in update-licensehead…
marc-romu Jan 11, 2026
86f2634
refactor: migrate to ghjson-dotnet library and update component seria…
marc-romu Jan 11, 2026
ec00785
refactor: disable persistent data serialization in gh_get and remove …
marc-romu Jan 11, 2026
b46c70d
refactor: migrate script component utilities to ghjson-dotnet library…
marc-romu Jan 11, 2026
203105f
style: normalize license header whitespace across test component files
marc-romu Jan 11, 2026
d6493ad
Merge branch 'dev' of https://github.com/architects-toolkit/SmartHopp…
marc-romu Jan 11, 2026
b26c80c
Merge branch 'dev' of https://github.com/architects-toolkit/SmartHopp…
marc-romu Jan 11, 2026
3a1d08b
refactor: GhJSON externalization to ghjson-dotnet package
marc-romu Jan 11, 2026
66b6e05
refactor: rename ScriptComponentHelper to ScriptParameterSettingsPars…
marc-romu Jan 11, 2026
d41a6a0
refactor: bump version to 1.3.0-dev and enhance script component para…
marc-romu Jan 11, 2026
f0626be
refactor: migrate AI tools to use ghjson-dotnet façade APIs exclusively
marc-romu Jan 12, 2026
2ae0788
refactor: delegate canvas operations to ghjson-dotnet façade methods …
marc-romu Jan 12, 2026
38b18b2
refactor: add JSON schema validation and System.Text.Json dependencie…
marc-romu Jan 12, 2026
fc58d94
refactor: enable CopyLocalLockFileAssemblies and normalize FilterPars…
marc-romu Jan 12, 2026
0ef0bf7
refactor: migrate AI tools to direct Grasshopper API and update ghjso…
marc-romu Feb 7, 2026
55feff8
chore: bump version to 1.3.0-dev.260207 and normalize GhJsonExtension…
marc-romu Feb 7, 2026
e6b0322
refactor: migrate gh_get to use ghjson-dotnet CanvasSelector and remo…
marc-romu Feb 7, 2026
7a3a747
fix: restore filter pipeline, connection depth expansion, and externa…
marc-romu Feb 7, 2026
2ad9ff4
chore: update LGPL license header format to use URL instead of postal…
marc-romu Feb 7, 2026
f2b704a
refactor: replace manual offset calculation with AutoOffset flag in g…
marc-romu Feb 7, 2026
bfc52c3
refactor: change ISelectingComponent to use IGH_DocumentObject instea…
marc-romu Feb 7, 2026
ce1068c
refactor: remove legacy references and unused code from AICall infras…
marc-romu Feb 8, 2026
3b16673
chore: update ready_to_use badge status from NO to YES in README.md
marc-romu Feb 8, 2026
6f41287
chore: update changelog
marc-romu Feb 8, 2026
e4b6069
refactor: normalize gh_put.cs file encoding from ASCII to UTF-8 with BOM
marc-romu Feb 8, 2026
f58b5bc
refactor: remove header-fixer GitHub action and simplify code style w…
marc-romu Feb 8, 2026
1699e6e
refactor: replace ghjson-dotnet project references with NuGet package…
marc-romu Feb 8, 2026
2267dd1
fix: correct regex escaping in line ending normalization for license …
marc-romu Feb 8, 2026
9ee4cbe
refactor(ghjson): externalize GhJSON libraries to ghjson-dotnet packa…
marc-romu Feb 8, 2026
10b3cc2
chore: update development version date to 1.3.0-dev.260208
actions-user Feb 8, 2026
aaab47d
chore: update development version date to 1.3.0-dev.260208 (#375)
marc-romu Feb 8, 2026
8c366a6
chore: add automated copyright year update workflow and centralize me…
marc-romu Feb 8, 2026
1a47a64
chore: remove redundant XML declarations from project files and impro…
marc-romu Feb 8, 2026
3aa6a6f
chore: add automated copyright year update workflow and centralize me…
marc-romu Feb 8, 2026
83bcb68
chore: Updated yak-package manifest description to emphasize open sou…
marc-romu Feb 8, 2026
60f0e91
docs: update DEV.md with component categories, tool categorization, a…
marc-romu Feb 8, 2026
5c20b85
docs: reorganize DEV.md component and AI tool tables by category for …
marc-romu Feb 8, 2026
3ba8feb
chore: add manifest text validation and auto-update workflows for ver…
marc-romu Feb 8, 2026
434b459
chore: update copyright year to 2026 and conditionally show warning i…
marc-romu Feb 8, 2026
018ac63
chore: replace runtime version retrieval with compile-time constant i…
marc-romu Feb 8, 2026
a1d645e
chore: replace compile-time version constant with runtime assembly at…
marc-romu Feb 8, 2026
288566e
Merge branch 'main' into dev
marc-romu Feb 8, 2026
2d1c81f
chore: prepare CHANGELOG and manifest for 1.3.0-alpha release
marc-romu Feb 8, 2026
59d3315
chore: fix grep syntax in pr-manifest-validation.yml by adding explic…
marc-romu Feb 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 0 additions & 6 deletions .github/actions/code-style/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,6 @@ runs:
# else
# dotnet format
# fi
- id: header
name: Process C# file headers
continue-on-error: ${{ inputs.mode == 'check' }}
uses: ./.github/actions/code-style/header-fixer
with:
mode: soft-check
- id: whitespace
name: Process trailing whitespace
continue-on-error: ${{ inputs.mode == 'check' }}
Expand Down
156 changes: 0 additions & 156 deletions .github/actions/code-style/header-fixer/action.yml

This file was deleted.

83 changes: 83 additions & 0 deletions .github/workflows/chore-update-copyright-year.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: 🗓️ Update Copyright Year

# Description: Automatically updates copyright year in:
# - C# file license headers (tools/Update-LicenseHeaders.ps1)
# - <Copyright> metadata in Directory.Build.props (tools/Update-CopyrightYear.ps1)
#
# Runs on January 1st at 00:00 UTC each year, or manually via workflow_dispatch.
# Creates a PR to dev if changes are detected.

on:
schedule:
- cron: '0 0 1 1 *'
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
update-copyright-year:
name: 🗓️ Update Copyright Year
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: dev

- name: Get current year
id: year
shell: pwsh
run: |
$year = (Get-Date).Year
echo "year=$year" >> $env:GITHUB_OUTPUT

- name: Update license headers in C# files
shell: pwsh
run: |
pwsh -ExecutionPolicy Bypass -File .\tools\Update-LicenseHeaders.ps1

- name: Update copyright year in Directory.Build.props
shell: pwsh
run: |
pwsh -ExecutionPolicy Bypass -File .\tools\Update-CopyrightYear.ps1

- name: Check for changes
id: check-changes
shell: pwsh
run: |
$changes = git status --porcelain
if ($changes) {
echo "has-changes=true" >> $env:GITHUB_OUTPUT
} else {
echo "has-changes=false" >> $env:GITHUB_OUTPUT
}

- name: Create Pull Request
if: steps.check-changes.outputs.has-changes == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: update copyright year to ${{ steps.year.outputs.year }}"
title: "chore: update copyright year to ${{ steps.year.outputs.year }}"
body: |
This PR updates the copyright year across the repository to **${{ steps.year.outputs.year }}**.

## Changes
- ✅ Updated license headers in all C# source files
- ✅ Updated `<Copyright>` metadata in `Directory.Build.props`

This is an automated PR created by the **Update Copyright Year** workflow.
branch: "chore/update-copyright-year-${{ steps.year.outputs.year }}"
base: dev
delete-branch: true
labels: |
chore
automated

- name: No changes needed
if: steps.check-changes.outputs.has-changes == 'false'
shell: pwsh
run: |
Write-Host "✅ Copyright year is already up to date. No PR created." -ForegroundColor Green
113 changes: 113 additions & 0 deletions .github/workflows/dev-update-manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
name: 📋 Dev - Auto Update Manifest Text

# Description: This workflow automatically updates the manifest.yml text based on the
# version type in Solution.props. For -dev versions, it uses alpha text. For -beta
# versions, it uses beta text. For stable versions, it uses the stable text.
#
# Triggers:
# - Automatically when Solution.props is modified in dev branch
# - Automatically when a PR to dev is merged that modifies Solution.props
#
# Permissions:
# - contents:write - Required to commit manifest changes

on:
push:
branches:
- dev
paths:
- 'Solution.props'
pull_request:
branches:
- dev
types:
- closed
paths:
- 'Solution.props'

permissions:
contents: write

jobs:
update-manifest:
name: 📋 Update Manifest Text for Dev Version
runs-on: ubuntu-latest
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.merged == true)

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: dev
token: ${{ secrets.GITHUB_TOKEN }}

- name: Get version from Solution.props
id: version
uses: ./.github/actions/versioning/get-version

- name: Determine required manifest text
id: manifest_text
run: |
VERSION="${{ steps.version.outputs.version }}"
SUFFIX="${{ steps.version.outputs.suffix }}"

if [[ "$VERSION" =~ -dev || "$VERSION" =~ -alpha ]]; then
TEXT="NOTE: This is an alpha release and you might find bugs :/ Please, report them at <https://github.com/architects-toolkit/SmartHopper/issues>"
TYPE="alpha"
elif [[ "$VERSION" =~ -beta ]]; then
TEXT="NOTE: This is a beta release and you might find bugs :/ Please, report them at <https://github.com/architects-toolkit/SmartHopper/issues>"
TYPE="beta"
else
TEXT="Please report any issues at <https://github.com/architects-toolkit/SmartHopper/issues>"
TYPE="stable"
fi

echo "type=$TYPE" >> $GITHUB_OUTPUT
echo "text=$TEXT" >> $GITHUB_OUTPUT
echo "Release type: $TYPE"

- name: Update manifest.yml note text
env:
MANIFEST_TEXT: ${{ steps.manifest_text.outputs.text }}
run: |
# Define the three possible texts as regex patterns for matching
ALPHA_PATTERN="NOTE: This is an alpha release and you might find bugs :/ Please, report them at"
BETA_PATTERN="NOTE: This is a beta release and you might find bugs :/ Please, report them at"
STABLE_PATTERN="Please report any issues at"

# Escape the new text for sed
ESCAPED_TEXT=$(echo "$MANIFEST_TEXT" | sed 's/[&/\]/\\&/g')

# Replace whichever pattern is currently in the file
if grep -q "$ALPHA_PATTERN" yak-package/manifest.yml; then
echo "Replacing alpha text with: $MANIFEST_TEXT"
sed -i "s|.*NOTE: This is an alpha release.*| $ESCAPED_TEXT|" yak-package/manifest.yml
elif grep -q "$BETA_PATTERN" yak-package/manifest.yml; then
echo "Replacing beta text with: $MANIFEST_TEXT"
sed -i "s|.*NOTE: This is a beta release.*| $ESCAPED_TEXT|" yak-package/manifest.yml
elif grep -q "$STABLE_PATTERN" yak-package/manifest.yml; then
echo "Replacing stable text with: $MANIFEST_TEXT"
sed -i "s|.*Please report any issues at.*| $ESCAPED_TEXT|" yak-package/manifest.yml
else
echo "::warning::Could not find existing note text to replace"
fi

- name: Check for changes
id: check_changes
run: |
if git diff --quiet yak-package/manifest.yml; then
echo "changed=false" >> $GITHUB_OUTPUT
echo "No changes needed - manifest already up to date"
else
echo "changed=true" >> $GITHUB_OUTPUT
echo "Manifest text updated"
fi

- name: Commit and push changes
if: steps.check_changes.outputs.changed == 'true'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add yak-package/manifest.yml
git commit -m "chore: update manifest text to ${{ steps.manifest_text.outputs.type }} version [skip ci]"
git push
Loading
Loading