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 - - -