diff --git a/.github/workflows/continuous.yml b/.github/workflows/continuous.yml
new file mode 100644
index 0000000..ba80b48
--- /dev/null
+++ b/.github/workflows/continuous.yml
@@ -0,0 +1,19 @@
+name: .NET build and test
+on: push
+jobs:
+ continuous-integration:
+ name: Build and test
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, windows-latest]
+ permissions:
+ contents: read
+ issues: read
+ checks: write
+ pull-requests: write
+ steps:
+ - name: .NET CI
+ uses: brianary/dotnet-ci@v1
+ with:
+ test-target: test
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..8961275
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,15 @@
+name: Publish module to PowerShell Gallery
+on:
+ workflow_run:
+ workflows: [".NET build and test"]
+ types: [completed]
+ branches: [main]
+jobs:
+ publish:
+ name: Publish to PowerShell Gallery
+ runs-on: windows-latest
+ steps:
+ - name: Publish module
+ uses: brianary/powershell-gallery-publish@v1
+ with:
+ gallery-key: ${{ secrets.gallerykey }}
diff --git a/.github/workflows/dotnetcore.yml b/.github/workflows/dotnetcore.yml
deleted file mode 100644
index 2514250..0000000
--- a/.github/workflows/dotnetcore.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-name: .NET Core
-on: push
-jobs:
- ci-linux:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v1
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 6.0.x
- - name: Build
- run: dotnet build -c Release
- - name: Test
- run: dotnet publish -t:test
- ci-windows:
- runs-on: windows-latest
- env:
- gallerykey: ${{ secrets.gallerykey }}
- steps:
- - uses: actions/checkout@v1
- with:
- fetch-depth: 2
- - name: Module update check
- id: is_module_update_test
- shell: pwsh
- run: |
- Write-Host "::set-output name=is_module_update::$(@(git diff --name-only HEAD~ HEAD -- "$(Resolve-Path .\src\*\*.psd1)").Count -gt 0)"
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v1
- with:
- dotnet-version: 6.0.x
- - name: Build
- run: dotnet build -c Release
- - name: Test
- run: dotnet publish -t:test
- - name: Publish
- if: success() && env.gallerykey && steps.is_module_update_test.outputs.is_module_update == 'True'
- shell: pwsh
- run: |
- dotnet publish -c Release
- $MSBuildProjectName = [io.path]::GetFileNameWithoutExtension("$(Resolve-Path ./src/*/*.fsproj)")
- $env:PSModulePath -split ';' |
- ForEach-Object {"$_/$MSBuildProjectName"} |
- Where-Object {Test-Path $_ -Type Container} |
- Remove-Item -Recurse -Force
- Push-Location ./src/*/bin/Release/*/publish
- Import-LocalizedData Module -FileName $MSBuildProjectName -BaseDirectory "$PWD"
- $Version = $Module.ModuleVersion
- $InstallPath = "$env:UserProfile/Documents/PowerShell/Modules/$MSBuildProjectName/$Version"
- if(!(Test-Path $InstallPath -Type Container)) {mkdir $InstallPath}
- Copy-Item * -Destination $InstallPath
- Pop-Location
- Publish-Module -Name $MSBuildProjectName -NuGetApiKey $env:gallerykey
diff --git a/.gitignore b/.gitignore
index d3c4f18..22ee4ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
.*/
+!.github/
!.template.config/
bin/
obj/
diff --git a/src/PSModuleTemplate/PSModuleTemplate.fsproj b/src/PSModuleTemplate/PSModuleTemplate.fsproj
index 07baa5b..daf5fef 100644
--- a/src/PSModuleTemplate/PSModuleTemplate.fsproj
+++ b/src/PSModuleTemplate/PSModuleTemplate.fsproj
@@ -4,7 +4,8 @@
netstandard2.0
true
true
- true
+ false
+ false
@@ -41,9 +42,9 @@
-
-