diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..a985435 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,66 @@ +on: + push: + branches: [main] + pull_request: + release: + types: [published] + +env: + DOTNET_VERSION: '6.0.x' + +jobs: + build-and-test: + runs-on: ${{ matrix.os }} + if: github.ref_type != 'tag' + strategy: + matrix: + os: [windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Setup .NET + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + - name: Install dependencies + run: dotnet restore + - name: Build without Version + run: dotnet build --configuration Release --output FanControl-develop/ + - name: Test + run: dotnet test --no-restore --verbosity normal + - uses: vimtor/action-zip@v1 + with: + files: FanControl-develop/ + dest: FanControl-develop.zip + + build-and-release: + runs-on: ${{ matrix.os }} + if: github.ref_type == 'tag' + permissions: + contents: write + strategy: + matrix: + os: [windows-latest] + steps: + - uses: actions/checkout@v2 + - name: Setup .NET + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + - name: Install dependencies + run: dotnet restore + - name: Build with Version + run: dotnet build --configuration Release /property:Version=${{ github.event.release.tag_name }} --output FanControl-${{ github.event.release.tag_name }}/ + - name: Test + run: dotnet test --no-restore --verbosity normal + - uses: vimtor/action-zip@v1 + with: + files: FanControl-${{ github.event.release.tag_name }}/ + dest: FanControl-${{ github.event.release.tag_name }}.zip + - uses: ncipollo/release-action@v1 + with: + artifacts: "*.zip" + prerelease: true + allowUpdates: true + generateReleaseNotes: true + omitNameDuringUpdate: true + updateOnlyUnreleased: true