diff --git a/.ci-skip-tests b/.ci-skip-tests
new file mode 100644
index 0000000..e69de29
diff --git a/.github/workflows/dotnet-release-binary.yml b/.github/workflows/dotnet-release-binary.yml
new file mode 100644
index 0000000..014eeeb
--- /dev/null
+++ b/.github/workflows/dotnet-release-binary.yml
@@ -0,0 +1,46 @@
+name: Binary releases
+
+on:
+ push:
+ tags: [ 0.*, 1.*, test-* ]
+
+env:
+ DOTNET_CLI_TELEMETRY_OPTOUT: true
+ DOTNET_NOLOGO: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 50
+ - run: git fetch --tags
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 6.0.x
+
+ - name: Restore dependencies
+ run: dotnet restore
+
+ - name: Build
+ run: dotnet build --no-restore
+
+ - name: Test
+ run: "[ -f .ci-skip-tests ] && echo 'Skipping tests' || dotnet test --no-build --verbosity normal"
+
+ - name: Pack
+ if: github.ref == 'refs/heads/master'
+ run: |
+ dotnet publish -o Build/win-x64 -r win-x64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true
+ dotnet publish -o Build/linux-x64 -r linux-x64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true
+ dotnet publish -o Build/osx-x64 -r osx-x64 --self-contained -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true
+
+ - name: Promote to release
+ uses: softprops/action-gh-release@v1
+ with:
+ files: |
+ Build/**
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
new file mode 100644
index 0000000..7ba0c76
--- /dev/null
+++ b/.github/workflows/dotnet.yml
@@ -0,0 +1,55 @@
+name: Generic Build
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+env:
+ DOTNET_CLI_TELEMETRY_OPTOUT: true
+ DOTNET_NOLOGO: true
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 50
+ - run: git fetch --tags
+
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 6.0.x
+
+ - name: Restore dependencies
+ run: dotnet restore
+
+ - name: Build
+ run: dotnet build --no-restore
+
+ - name: Test
+ run: "[ -f .ci-skip-tests ] && echo 'Skipping tests' || dotnet test --no-build --verbosity normal"
+
+ - name: Pack
+ if: github.ref == 'refs/heads/master'
+ run: dotnet pack -c Debug -o Build
+
+ - name: "Github packages: Nuget push"
+ if: github.ref == 'refs/heads/master'
+ run: dotnet nuget push --no-symbols 1 --skip-duplicate -k ${{ secrets.GITHUB_TOKEN }} -s "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" Build/*.nupkg
+
+ - name: "Github packages: Cleanup"
+ if: github.ref == 'refs/heads/master'
+ uses: stripethree/gpr-janitor@dist
+ with:
+ dry-run: false
+ keep-versions: 25
+ min-age-days: 14
+ versions-to-fetch: 20
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 776ff15..21bb375 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,12 @@
+.vs/
bin/
obj/
-.vs/
-*.user
\ No newline at end of file
+Build/
+
+# Files for local dev
+*.user
+*.local.json
+
+# Verify
+# https://github.com/VerifyTests/Verify#received-and-verified
+*.received.*
diff --git a/Directory.Build.props b/Directory.Build.props
new file mode 100644
index 0000000..c188d79
--- /dev/null
+++ b/Directory.Build.props
@@ -0,0 +1,46 @@
+
+
+
+ latest
+
+
+
+
+ LordMike
+ MBWarez
+ Michael Bisbjerg $([System.DateTime]::Now.ToString(yyyy))
+
+
+
+
+ true
+
+
+ $(NoWarn);CS1591
+
+ portable
+ true
+ snupkg
+
+ v
+
+
+ $(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
diff --git a/Readme.md b/Readme.md
new file mode 100644
index 0000000..ec4fd70
--- /dev/null
+++ b/Readme.md
@@ -0,0 +1,13 @@
+# MBW.Tools.ZwaveJs2Mqtt
+
+Utility to test out new features utilizing the API of [Zwavejs2mqtt](https://github.com/zwave-js/zwavejs2mqtt/).
+
+This code is my personal testing grounds that I also use for configuration management. It is _not_ for general consumption.
+
+# Download
+
+You can download the binaries from the [latest release](https://github.com/LordMike/MBW.Tools.ZwaveJs2Mqtt/releases/latest).
+
+# Read more
+
+This was first mentioned in this [show & tell discussion](https://github.com/zwave-js/zwavejs2mqtt/discussions/2137).
diff --git a/ZwaveMqttTemplater/ZwaveMqttTemplater.csproj b/ZwaveMqttTemplater/ZwaveMqttTemplater.csproj
index d696111..88ef894 100644
--- a/ZwaveMqttTemplater/ZwaveMqttTemplater.csproj
+++ b/ZwaveMqttTemplater/ZwaveMqttTemplater.csproj
@@ -4,6 +4,7 @@
Exe
net6.0
enable
+ embedded
@@ -24,13 +25,4 @@
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
-