diff --git a/.github/workflows/EssentialsPlugins-builds-4-series-caller.yml b/.github/workflows/EssentialsPlugins-builds-4-series-caller.yml
index a8fcfe6a..0733543b 100644
--- a/.github/workflows/EssentialsPlugins-builds-4-series-caller.yml
+++ b/.github/workflows/EssentialsPlugins-builds-4-series-caller.yml
@@ -6,22 +6,9 @@ on:
- '**'
jobs:
- # runTests:
- # uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-tests.yml@main
- # secrets: inherit
runTests:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-dotnet@v5
- with:
- dotnet-version: 9.0.x
- - name: Restore dependencies
- working-directory: .
- run: dotnet restore
- - name: Test
- working-directory: .
- run: dotnet test --verbosity normal --no-restore --collect:"xplat code coverage"
+ uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-run-tests.yml@main
+ secrets: inherit
getVersion:
uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-getversion.yml@main
secrets: inherit
diff --git a/.github/workflows/essentials-3-dev-build.yml b/.github/workflows/essentials-3-dev-build.yml
deleted file mode 100644
index 3943d5be..00000000
--- a/.github/workflows/essentials-3-dev-build.yml
+++ /dev/null
@@ -1,247 +0,0 @@
-name: Essentials v3 Development Build
-
-on:
- push:
- branches:
- - feature-3.0.0/*
- - hotfix-3.0.0/*
- - release-3.0.0/*
- - development-3.0.0
-
-env:
- SOLUTION_PATH: .
- SOLUTION_FILE: PepperDash.Essentials
- VERSION: 0.0.0-buildtype-buildnumber
- BUILD_TYPE: Debug
- RELEASE_BRANCH: main
-jobs:
- Build_Project_4-Series:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
-
- # Detect environment (Act vs GitHub)
- - name: Detect environment
- id: detect_env
- run: |
- if [ -n "$ACT" ]; then
- echo "is_local=true" >> $GITHUB_OUTPUT
- else
- echo "is_local=false" >> $GITHUB_OUTPUT
- fi
-
- - name: Install prerequisites
- run: |
- if [ "${{ steps.detect_env.outputs.is_local }}" == "true" ]; then
- # For Act - no sudo needed
- apt-get update
- apt-get install -y curl wget libicu-dev git unzip
- else
- # For GitHub runners - sudo required
- sudo apt-get update
- sudo apt-get install -y curl wget libicu-dev git unzip
- fi
-
- - name: Set Version Number
- id: setVersion
- shell: bash
- run: |
- latestVersion="3.0.0"
- newVersion=$latestVersion
- phase=""
- newVersionString=""
-
- if [[ $GITHUB_REF =~ ^refs/pull/.* ]]; then
- phase="beta"
- newVersionString="${newVersion}-${phase}-${GITHUB_RUN_NUMBER}"
- elif [[ $GITHUB_REF =~ ^refs/heads/hotfix-3.0.0/.* ]]; then
- phase="hotfix"
- newVersionString="${newVersion}-${phase}-${GITHUB_RUN_NUMBER}"
- elif [[ $GITHUB_REF =~ ^refs/heads/feature-3.0.0/.* ]]; then
- phase="alpha"
- newVersionString="${newVersion}-${phase}-${GITHUB_RUN_NUMBER}"
- elif [[ $GITHUB_REF == "refs/heads/development-3.0.0" ]]; then
- phase="beta"
- newVersionString="${newVersion}-${phase}-${GITHUB_RUN_NUMBER}"
- elif [[ $GITHUB_REF =~ ^refs/heads/release-3.0.0/.* ]]; then
- version=$(echo $GITHUB_REF | awk -F '/' '{print $NF}' | sed 's/v//')
- phase="rc"
- newVersionString="${version}-${phase}-${GITHUB_RUN_NUMBER}"
- else
- # For local builds or unrecognized branches
- newVersionString="${newVersion}-local"
- fi
-
- echo "version=$newVersionString" >> $GITHUB_OUTPUT
-
- # Create Build Properties file
- - name: Create Build Properties
- run: |
- cat > Directory.Build.props << EOF
-
-
- ${{ steps.setVersion.outputs.version }}
- ${{ steps.setVersion.outputs.version }}
- ${{ steps.setVersion.outputs.version }}
- ${{ steps.setVersion.outputs.version }}
- ${{ steps.setVersion.outputs.version }}
- ${{ steps.setVersion.outputs.version }}
-
-
- EOF
-
- - name: Setup .NET
- uses: actions/setup-dotnet@v3
- with:
- dotnet-version: '8.0.x'
-
- - name: Restore NuGet Packages
- run: dotnet restore ${SOLUTION_FILE}.sln
-
- - name: Build Solution
- run: dotnet build ${SOLUTION_FILE}.sln --configuration ${BUILD_TYPE} --no-restore
-
- # Copy the CPZ file to the output directory with version in the filename
- - name: Copy and Rename CPZ Files
- run: |
- mkdir -p ./output/cpz
-
- # Find the main CPZ file in the build output
- if [ -f "./src/PepperDash.Essentials/bin/${BUILD_TYPE}/net8/PepperDashEssentials.cpz" ]; then
- cp "./src/PepperDash.Essentials/bin/${BUILD_TYPE}/net8/PepperDashEssentials.cpz" "./output/cpz/PepperDashEssentials.${{ steps.setVersion.outputs.version }}.cpz"
- echo "Main CPZ file copied and renamed successfully."
- else
- echo "Warning: Main CPZ file not found at expected location."
- find ./src -name "*.cpz" | xargs -I {} cp {} ./output/cpz/
- fi
-
- - name: Pack Solution
- run: dotnet pack ${SOLUTION_FILE}.sln --configuration ${BUILD_TYPE} --output ./output/nuget --no-build
-
- # List build artifacts (runs in both environments)
- - name: List Build Artifacts
- run: |
- echo "=== Build Artifacts ==="
- echo "NuGet Packages:"
- find ./output/nuget -type f | sort
- echo ""
- echo "CPZ/CPLZ Files:"
- find ./output -name "*.cpz" -o -name "*.cplz" | sort
- echo "======================="
-
- # Enhanced package inspection for local runs
- - name: Inspect NuGet Packages
- if: steps.detect_env.outputs.is_local == 'true'
- run: |
- echo "=== NuGet Package Details ==="
- for pkg in $(find ./output/nuget -name "*.nupkg"); do
- echo "Package: $(basename "$pkg")"
- echo "Size: $(du -h "$pkg" | cut -f1)"
-
- # Extract and show package contents
- echo "Contents:"
- unzip -l "$pkg" | tail -n +4 | head -n -2
- echo "--------------------------"
-
- # Try to extract and show the nuspec file (contains metadata)
- echo "Metadata:"
- unzip -p "$pkg" "*.nuspec" 2>/dev/null | grep -E "(||||)" || echo "Metadata extraction failed"
- echo "--------------------------"
- done
- echo "==========================="
-
- # Tag creation - GitHub version
- - name: Create tag for non-rc builds (GitHub)
- if: ${{ !contains(steps.setVersion.outputs.version, 'rc') && steps.detect_env.outputs.is_local == 'false' }}
- run: |
- git config --global user.name "GitHub Actions"
- git config --global user.email "actions@github.com"
- git tag ${{ steps.setVersion.outputs.version }}
- git push --tags origin
-
- # Tag creation - Act mock version
- - name: Create tag for non-rc builds (Act Mock)
- if: ${{ !contains(steps.setVersion.outputs.version, 'rc') && steps.detect_env.outputs.is_local == 'true' }}
- run: |
- echo "Would create git tag: ${{ steps.setVersion.outputs.version }}"
- echo "Would push tag to: origin"
-
- # Release creation - GitHub version
- - name: Create Release (GitHub)
- if: steps.detect_env.outputs.is_local == 'false'
- id: create_release
- uses: ncipollo/release-action@v1
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- artifacts: 'output/cpz/*,output/**/*.cplz'
- generateReleaseNotes: true
- prerelease: ${{contains('debug', env.BUILD_TYPE)}}
- tag: ${{ steps.setVersion.outputs.version }}
-
- # Release creation - Act mock version with enhanced output
- - name: Create Release (Act Mock)
- if: steps.detect_env.outputs.is_local == 'true'
- run: |
- echo "=== Mock Release Creation ==="
- echo "Would create release with:"
- echo "- Tag: ${{ steps.setVersion.outputs.version }}"
- echo "- Prerelease: ${{contains('debug', env.BUILD_TYPE)}}"
- echo "- Artifacts matching pattern: output/cpz/*,output/**/*.cplz"
- echo ""
- echo "Matching artifacts:"
- find ./output/cpz -type f
- find ./output -name "*.cplz"
-
- # Detailed info about release artifacts
- echo ""
- echo "Artifact Details:"
- for artifact in $(find ./output/cpz -type f; find ./output -name "*.cplz"); do
- echo "File: $(basename "$artifact")"
- echo "Size: $(du -h "$artifact" | cut -f1)"
- echo "Created: $(stat -c %y "$artifact")"
- echo "MD5: $(md5sum "$artifact" | cut -d' ' -f1)"
- echo "--------------------------"
- done
- echo "============================"
-
- # NuGet setup - GitHub version
- - name: Setup NuGet (GitHub)
- if: steps.detect_env.outputs.is_local == 'false'
- run: |
- dotnet nuget add source https://nuget.pkg.github.com/pepperdash/index.json -n github -u pepperdash -p ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text
-
- # NuGet setup - Act mock version
- - name: Setup NuGet (Act Mock)
- if: steps.detect_env.outputs.is_local == 'true'
- run: |
- echo "=== Mock NuGet Setup ==="
- echo "Would add GitHub NuGet source: https://nuget.pkg.github.com/pepperdash/index.json"
- echo "======================="
-
- # Publish to NuGet - GitHub version
- - name: Publish to Nuget (GitHub)
- if: steps.detect_env.outputs.is_local == 'false'
- run: dotnet nuget push ./output/nuget/*.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }}
-
- # Publish to NuGet - Act mock version
- - name: Publish to Nuget (Act Mock)
- if: steps.detect_env.outputs.is_local == 'true'
- run: |
- echo "=== Mock Publish to NuGet ==="
- echo "Would publish the following packages to https://api.nuget.org/v3/index.json:"
- find ./output/nuget -name "*.nupkg" | sort
- echo "============================="
-
- # Publish to GitHub NuGet - GitHub version
- - name: Publish to Github Nuget (GitHub)
- if: steps.detect_env.outputs.is_local == 'false'
- run: dotnet nuget push ./output/nuget/*.nupkg --source github --api-key ${{ secrets.GITHUB_TOKEN }}
-
- # Publish to GitHub NuGet - Act mock version
- - name: Publish to Github Nuget (Act Mock)
- if: steps.detect_env.outputs.is_local == 'true'
- run: |
- echo "=== Mock Publish to GitHub NuGet ==="
- echo "Would publish the following packages to the GitHub NuGet registry:"
- find ./output/nuget -name "*.nupkg" | sort
- echo "=================================="
\ No newline at end of file
diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml
index 42dd64c5..35752ff7 100644
--- a/.github/workflows/publish-docs.yml
+++ b/.github/workflows/publish-docs.yml
@@ -26,9 +26,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
- name: Dotnet Setup
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.x