Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
61 changes: 34 additions & 27 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,17 @@ permissions:
env:

# Permission
# Need more permissive token
GITHUB_TOKEN: ${{ secrets.NUGETKEY }}
PACKAGES_TOKEN: ${{ secrets.NUGETKEY }}
TEL_GIT_PACKAGES_TOKEN: ${{ secrets.NUGETKEY }}
GITHUB_USERNAME: "Phil-NHS"

# Nuget Set Up
TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH: ${{ github.workspace }}/CICDPackageLocation
TELBLAZOR_PACKAGE_SOURCE: "https://nuget.pkg.github.com/TechnologyEnhancedLearning/index.json"
NUGET_PACKAGES_OUTPUT_PATH: ${{ github.workspace }}/CICDPackageLocation
LOCAL_PACKAGES_PATH : ${{ github.workspace }}/CICDPackageLocation
TEL_GIT_PACKAGE_SOURCE: "https://nuget.pkg.github.com/TechnologyEnhancedLearning/index.json"

# Build Set Up
USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE: false
DISABLE_PACKAGE_GENERATION: false

jobs:

Expand All @@ -33,6 +32,9 @@ jobs:
uses: ./.github/workflows/reuseable-ci-checks.yml
with:
runall: true
# Commit being run against
base_sha: ${{ github.event.before }}
head_sha: ${{ github.event.after }}
secrets:
# Dev
UNITTESTS_APPSETTINGS_DEVELOPMENT: ${{ secrets.UNITTESTS_APPSETTINGS_DEVELOPMENT }}
Expand All @@ -41,13 +43,14 @@ jobs:
WASMSERVERHOST_APPSETTINGS_DEVELOPMENT: ${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}

# Token
PACKAGES_TOKEN: ${{secrets.NUGETKEY }}
TEL_GIT_PACKAGES_TOKEN: ${{secrets.NUGETKEY }}

# Prod
UNITTESTS_APPSETTINGS_PRODUCTION: ${{ secrets.UNITTESTS_APPSETTINGS_PRODUCTION }}
WASMSTATICCLIENT_APPSETTINGS_PRODUCTION: ${{ secrets.WASMSTATICCLIENT_APPSETTINGS_PRODUCTION }}
WASMSERVERHOSTCLIENT_APPSETTINGS_PRODUCTION: ${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_PRODUCTION }}
WASMSERVERHOST_APPSETTINGS_PRODUCTION: ${{ secrets.WASMSERVERHOST_APPSETTINGS_PRODUCTION }}



# Now we've done due diligence
Expand Down Expand Up @@ -150,8 +153,13 @@ jobs:
- name: Debug version output DEV_TELBLAZOR_PACKAGE_VERSION
run: echo "Extracted Version $DEV_TELBLAZOR_PACKAGE_VERSION "

- name: Replace nuget.config with CI template
run: |
rm -f nuget.config
cp nuget.config.cicd nuget.config

- name: Replace local environment variable in nuget config because cant provide it as a parameter
run: sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH|g" nuget.config
run: sed -i "s|%TEL_BLAZOR_PACKAGE_SOURCE%|$LOCAL_PACKAGES_PATH|g" nuget.config

- name: Create appsettings development from secrets
run: |
Expand Down Expand Up @@ -187,20 +195,18 @@ jobs:
#CI is an install that adheres to package-lock

- name: Build TELBlazor.Components (it publishes on build)
env:
DISABLE_PACKAGE_GENERATION: false
run: |
dotnet build TELBlazor.Components -c Release \
/p:TELBlazorPackageVersion=$DEV_TELBLAZOR_PACKAGE_VERSION \
/p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
/p:NugetPackagesOutputPath=$NUGET_PACKAGES_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
/p:DisablePackageGeneration=$DISABLE_PACKAGE_GENERATION
/p:DisablePackageGeneration=false

- name: Publish to TechnologyEnhancedLearning as a Dev Package
run: |
dotnet nuget push "$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH/TELBlazor.Components.*.nupkg" \
--source "$TELBLAZOR_PACKAGE_SOURCE" \
--api-key $PACKAGES_TOKEN \
dotnet nuget push "$NUGET_PACKAGES_OUTPUT_PATH/TELBlazor.Components.*.nupkg" \
--source $TEL_GIT_PACKAGE_SOURCE \
--api-key $TEL_GIT_PACKAGES_TOKEN \
--skip-duplicate


Expand Down Expand Up @@ -228,12 +234,17 @@ jobs:
echo "Cleaning the solution..."
dotnet clean TELBlazor.sln


- name: Replace nuget.config with CI template
run: |
rm -f nuget.config
cp nuget.config.cicd nuget.config

- name: Replace local environment variable in nuget config because cant provide it as a parameter
run: |
sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_SOURCE|g" nuget.config
sed -i "s|%TEL_BLAZOR_PACKAGE_SOURCE%|$TEL_GIT_PACKAGE_SOURCE|g" nuget.config
sed -i "s|%GITHUB_USERNAME%|$GITHUB_USERNAME|g" nuget.config
sed -i "s|%GITHUB_PACKAGES_TOKEN%|$PACKAGES_TOKEN|g" nuget.config
sed -i "s|%TEL_GIT_PACKAGES_TOKEN%|$TEL_GIT_PACKAGES_TOKEN|g" nuget.config


- name: debug DEV_TELBLAZOR_PACKAGE_VERSION
run: |
Expand All @@ -257,7 +268,7 @@ jobs:
printf '%s' "${paths[$path]}" > "$path"
done

- name: Clean lock files because the newly generated package file will superseed the locks
- name: Clean lock files because the newly generated package file will supersede the locks
run: |
echo "Listing packages.lock.json files:"
find . -name "packages.lock.json" -type f -print
Expand All @@ -277,24 +288,20 @@ jobs:
run: npm ci

- name: Build solution without generating new package
env:
#Overwrite package generation
DISABLE_PACKAGE_GENERATION: true
run: |
dotnet build TELBlazor.sln -c Release \
/p:TELBlazorPackageVersion=$DEV_TELBLAZOR_PACKAGE_VERSION \
/p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
/p:NugetPackagesOutputPath=$NUGET_PACKAGES_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
/p:TELBlazorPackageSource=$TELBLAZOR_PACKAGE_SOURCE \
/p:DisablePackageGeneration=$DISABLE_PACKAGE_GENERATION
/p:DisablePackageGeneration=true

- name: Publish WasmStaticClient
run: |
dotnet publish ./TELBlazor.Components.ShowCase.WasmStaticClient/TELBlazor.Components.ShowCase.WasmStaticClient.csproj --configuration Release \
/p:TELBlazorPackageVersion=$DEV_TELBLAZOR_PACKAGE_VERSION \
/p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
/p:NugetPackagesOutputPath=$NUGET_PACKAGES_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
/p:TELBlazorPackageSource=$TELBLAZOR_PACKAGE_SOURCE
/p:DisablePackageGeneration=true

#include hidden so we get jekyll
- name: Creating artifact of publish folder for test gh page workflow
Expand Down Expand Up @@ -331,7 +338,7 @@ jobs:
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $PACKAGES_TOKEN" \
-H "Authorization: Bearer $TEL_GIT_PACKAGES_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/$repo_owner/$repo_name/dispatches \
-d "{\"event_type\": \"$event_type\", \"client_payload\": {\"artifact_url\": \"$artifact_url\"}}"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT: ${{ secrets.WASMSTATICCLIENT_APPSETTINGS_DEVELOPMENT }}
WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT: ${{ secrets.WASMSERVERHOSTCLIENT_APPSETTINGS_DEVELOPMENT }}
WASMSERVERHOST_APPSETTINGS_DEVELOPMENT: ${{ secrets.WASMSERVERHOST_APPSETTINGS_DEVELOPMENT }}
PACKAGES_TOKEN: ${{secrets.NUGETKEY }}
TEL_GIT_PACKAGES_TOKEN: ${{secrets.NUGETKEY }}

UNITTESTS_APPSETTINGS_PRODUCTION: ${{ secrets.UNITTESTS_APPSETTINGS_PRODUCTION }}
WASMSTATICCLIENT_APPSETTINGS_PRODUCTION: ${{ secrets.WASMSTATICCLIENT_APPSETTINGS_PRODUCTION }}
Expand Down
80 changes: 34 additions & 46 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,17 @@ env:
# Permission
# Using key with more permissions
GITHUB_TOKEN: ${{ secrets.NUGETKEY }}
PACKAGES_TOKEN: ${{ secrets.NUGETKEY }}
TEL_GIT_PACKAGES_TOKEN: ${{ secrets.NUGETKEY }}
GITHUB_USERNAME: "Phil-NHS"

# Nuget Set Up
TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH: ${{ github.workspace }}/CICDPackageLocation
TELBLAZOR_PACKAGE_SOURCE: "https://nuget.pkg.github.com/TechnologyEnhancedLearning/index.json"
NUGET_PACKAGES_OUTPUT_PATH: ${{ github.workspace }}/CICDPackageLocation
LOCAL_PACKAGES_PATH: ${{ github.workspace }}/CICDPackageLocation
TEL_GIT_PACKAGE_SOURCE : "https://nuget.pkg.github.com/TechnologyEnhancedLearning/index.json"

# Build Set Up
USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE: false
DISABLE_PACKAGE_GENERATION: false


jobs:
generate-semantic-version:
Expand Down Expand Up @@ -52,7 +53,7 @@ jobs:



#configured with .releaseseec
#configured with .releaseserc
- name: Run semantic release
id: set_semantic_version
run: |
Expand Down Expand Up @@ -97,9 +98,16 @@ jobs:
- name: Remove local package settings (CI Only)
run: rm -f PackageSettings.props.local


- name: Replace nuget.config with CI template
run: |
rm -f nuget.config
cp nuget.config.cicd nuget.config

- name: Replace local environment variable in nuget config because cant provide it as a parameter
run: sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH|g" nuget.config
run: |
sed -i "s|%TEL_BLAZOR_PACKAGE_SOURCE%|$LOCAL_PACKAGES_PATH|g" nuget.config
sed -i "s|%GITHUB_USERNAME%|$GITHUB_USERNAME|g" nuget.config
sed -i "s|%TEL_GIT_PACKAGES_TOKEN%|$TEL_GIT_PACKAGES_TOKEN|g" nuget.config

- name: Create appsettings development from secrets
run: |
Expand Down Expand Up @@ -131,37 +139,22 @@ jobs:

- name: Install npm packages so we have gulp for retrieving TEL Frontend Css
run: npm ci
#CI is an install with adhering to package-lock
#CI is an install that adheres to package-lock

# - name: Build solution without generating new package
# env:
# #Overwrite package generation
# DISABLE_PACKAGE_GENERATION: true
# run: |
# dotnet build TELBlazor.sln -c Release \
# /p:TELBlazorPackageVersion=$TELBLAZOR_PACKAGE_VERSION \
# /p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
# /p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
# /p:TELBlazorPackageSource=$TELBLAZOR_PACKAGE_SOURCE \
# /p:DisablePackageGeneration=$DISABLE_PACKAGE_GENERATION
#

- name: Build and pack TELBlazor.Components
env:
DISABLE_PACKAGE_GENERATION: false
run: |
dotnet build TELBlazor.Components -c Release \
/p:TELBlazorPackageVersion=$TELBLAZOR_PACKAGE_VERSION \
/p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
/p:NugetPackagesOutputPath=$NUGET_PACKAGES_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
/p:TELBlazorPackageSource=$TELBLAZOR_PACKAGE_SOURCE \
/p:DisablePackageGeneration=$DISABLE_PACKAGE_GENERATION
/p:DisablePackageGeneration=false

- name: Publish to TELBlazor.Components Package
run: |
dotnet nuget push "$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH/TELBlazor.Components.*.nupkg" \
--source "$TELBLAZOR_PACKAGE_SOURCE" \
--api-key $PACKAGES_TOKEN \
dotnet nuget push "$NUGET_PACKAGES_OUTPUT_PATH/TELBlazor.Components.*.nupkg" \
--source "$TEL_GIT_PACKAGE_SOURCE" \
--api-key $TEL_GIT_PACKAGES_TOKEN \
--skip-duplicate


Expand All @@ -185,12 +178,16 @@ jobs:
- name: Remove local packagesettings (CI Only)
run: rm -f PackageSettings.props.local

- name: Replace nuget.config with CI template
run: |
rm -f nuget.config
cp nuget.config.cicd nuget.config

- name: Replace local environment variable in nuget config because cant provide it as a parameter
run: |
sed -i "s|%TELBlazorPackageSource%|$TELBLAZOR_PACKAGE_SOURCE|g" nuget.config
sed -i "s|%TEL_BLAZOR_PACKAGE_SOURCE%|$TEL_GIT_PACKAGE_SOURCE|g" nuget.config
sed -i "s|%GITHUB_USERNAME%|$GITHUB_USERNAME|g" nuget.config
sed -i "s|%GITHUB_PACKAGES_TOKEN%|$PACKAGES_TOKEN |g" nuget.config

sed -i "s|%TEL_GIT_PACKAGES_TOKEN%|$TEL_GIT_PACKAGES_TOKEN|g" nuget.config

- name: Create appsettings development from secrets
run: |
Expand Down Expand Up @@ -232,29 +229,20 @@ jobs:
run: npm ci

- name: Build solution without generating new package
env:
#Overwrite package generation
DISABLE_PACKAGE_GENERATION: true
USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE: false
run: |
dotnet build TELBlazor.sln -c Release \
/p:TELBlazorPackageVersion=$TELBLAZOR_PACKAGE_VERSION \
/p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
/p:TELBlazorPackageSource=$TELBLAZOR_PACKAGE_SOURCE \
/p:DisablePackageGeneration=$DISABLE_PACKAGE_GENERATION
/p:NugetPackagesOutputPath=$NUGET_PACKAGES_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=false \
/p:DisablePackageGeneration=true

- name: Publish WasmStaticClient TELBlazor ShowCase
env:
#Overwrite package generation
DISABLE_PACKAGE_GENERATION: true
USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE: false
run: |
dotnet publish ./TELBlazor.Components.ShowCase.WasmStaticClient/TELBlazor.Components.ShowCase.WasmStaticClient.csproj --configuration Release \
/p:TELBlazorPackageVersion=$TELBLAZOR_PACKAGE_VERSION \
/p:NupkgOutputPath=$TELBLAZOR_PACKAGE_LOCAL_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=$USE_TEL_BLAZOR_COMPONENTS_PROJECT_REFERENCE \
/p:TELBlazorPackageSource=$TELBLAZOR_PACKAGE_SOURCE
/p:NugetPackagesOutputPath=$NUGET_PACKAGES_OUTPUT_PATH \
/p:UseTELBlazorComponentsProjectReference=false \
/p:DisablePackageGeneration=true

- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
Expand Down
Loading