+ Collaborator KPIs
+ Last updated {datetime.datetime.utcnow():%Yβ%mβ%dΒ %H:%Mβ―UTC}
+
+ Totals
+
+ - Hours: {total['hours']}
+ - Commits: {total['commits']}
+ - Contributors: {len(data)-1}
+
+
+ Hours per contributor
+
+
+ Detail table
+
+ | Contributor | Hours | Commits |
+ {rows}
+
+
+ Historical JSON snapshots live in /data.
+
+
+
+ """
+ pathlib.Path('site/index.html').write_text(textwrap.dedent(page))
+ PY
+
+ # βββββββββββββββββββββ PATCH β‘ bump to v3 (uses artifact@v4) ββββββ
+ - uses: actions/upload-pages-artifact@v3
+ with: { path: site }
+ # βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
+
+###############################################################################
+# JobΒ 3 β deploy to GitHubΒ Pages
+###############################################################################
+ deploy-pages:
+ needs: build-site
+ runs-on: ubuntu-latest
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+
+ steps:
+ - id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.github/workflows/create-distribution-artifact.yml b/.github/workflows/create-distribution-artifact.yml
new file mode 100644
index 0000000..35486ae
--- /dev/null
+++ b/.github/workflows/create-distribution-artifact.yml
@@ -0,0 +1,38 @@
+name: Create Distribution Artifact
+
+on:
+ workflow_dispatch:
+ inputs:
+ upload-artifact:
+ description: 'Upload as GitHub artifact'
+ required: false
+ type: boolean
+ default: true
+ workflow_call:
+ inputs:
+ upload-artifact:
+ description: 'Upload as GitHub artifact'
+ required: false
+ type: boolean
+ default: false
+
+jobs:
+ create-artifact:
+ runs-on: windows-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v5
+
+ - name: Create framework artifact structure
+ shell: pwsh
+ run: |
+ & "${{ github.workspace }}\pipeline\scripts\Create_Distribution_Artifact.ps1"
+
+ - name: Upload artifact
+ if: ${{ inputs.upload-artifact }}
+ uses: actions/upload-artifact@v6
+ with:
+ name: actor-framework-distribution
+ path: artifact-staging/
+ retention-days: 7
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..66ce201
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,34 @@
+name: Create Release
+
+on:
+ push:
+ tags:
+ - 'v*.*.*'
+
+jobs:
+ create-artifact:
+ uses: ./.github/workflows/create-distribution-artifact.yml
+ with:
+ upload-artifact: true
+
+ create-release:
+ needs: create-artifact
+ runs-on: windows-latest
+
+ steps:
+ - name: Download artifact
+ uses: actions/download-artifact@v7
+ with:
+ name: actor-framework-distribution
+ path: artifact-staging
+
+ - name: Create actor-framework-distribution.zip
+ shell: pwsh
+ run: |
+ Compress-Archive -Path artifact-staging\* -DestinationPath actor-framework-distribution.zip
+
+ - name: Create Release
+ uses: softprops/action-gh-release@v2
+ with:
+ files: actor-framework-distribution.zip
+ generate_release_notes: true
\ No newline at end of file
diff --git a/.github/workflows/run-via-tests.yml b/.github/workflows/run-via-tests.yml
new file mode 100644
index 0000000..f7870ae
--- /dev/null
+++ b/.github/workflows/run-via-tests.yml
@@ -0,0 +1,30 @@
+name: Run VIA tests
+
+on:
+ workflow_dispatch:
+
+jobs:
+ run-via-tests:
+ name: Run VI Analyzer tests
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v5
+ with:
+ fetch-depth: 0 # Fetch all history
+
+ - name: Run VI Analyzer tests
+ uses: ni/open-source/via-lv-docker@actions
+ with:
+ config_path: ${{ github.event_name == 'workflow_dispatch' && '.github/via_config/Actor_Framework.viancfg' || '' }}
+ base_branch: origin/${{ github.event.pull_request.base.ref || 'develop' }}
+ labview_version: 'latest-linux'
+
+ - name: Upload VI Analyzer Report
+ uses: actions/upload-artifact@v6
+ if: always()
+ with:
+ name: vi-analyzer-report
+ path: vi-analyzer-report.htm
+ retention-days: 7
\ No newline at end of file
diff --git a/.tgitconfig b/.tgitconfig
new file mode 100644
index 0000000..e69de29
diff --git a/Builds/actor_framework_2024_for_2020-2.0.0.23.vip b/Builds/actor_framework_2024_for_2020-2.0.0.23.vip
new file mode 100644
index 0000000..56bc249
Binary files /dev/null and b/Builds/actor_framework_2024_for_2020-2.0.0.23.vip differ
diff --git a/Core/Actor Framework 2024 for 2020.vipb b/Core/Actor Framework 2024 for 2020.vipb
index 6ffb656..ae2065b 100644
--- a/Core/Actor Framework 2024 for 2020.vipb
+++ b/Core/Actor Framework 2024 for 2020.vipb
@@ -1,14 +1,14 @@
-