name: Build and Release on: push: branches: - master jobs: build-and-release: runs-on: windows-latest permissions: contents: write steps: - name: Checkout Code uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: '10.0.x' # build for all patforms - name: Publish Self-Contained x64 run: dotnet publish GoToSleep/GoToSleep.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -o ./publish/x64 - name: Publish Self-Contained x86 run: dotnet publish GoToSleep/GoToSleep.csproj -c Release -r win-x86 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -o ./publish/x86 - name: Publish Self-Contained arm64 run: dotnet publish GoToSleep/GoToSleep.csproj -c Release -r win-arm64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -o ./publish/arm64 - name: Publish Framework-Dependent x64 run: dotnet publish GoToSleep/GoToSleep.csproj -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -o ./publish/x64-fd - name: Publish Framework-Dependent x86 run: dotnet publish GoToSleep/GoToSleep.csproj -c Release -r win-x86 --self-contained false -p:PublishSingleFile=true -o ./publish/x86-fd - name: Publish Framework-Dependent arm64 run: dotnet publish GoToSleep/GoToSleep.csproj -c Release -r win-arm64 --self-contained false -p:PublishSingleFile=true -o ./publish/arm64-fd - name: Rename Executables by Architecture run: | Get-ChildItem -Path ./publish/x64/*.exe | Rename-Item -NewName { $_.BaseName + "-x64_STANDALONE" + $_.Extension } Get-ChildItem -Path ./publish/x86/*.exe | Rename-Item -NewName { $_.BaseName + "-x86_STANDALONE" + $_.Extension } Get-ChildItem -Path ./publish/arm64/*.exe | Rename-Item -NewName { $_.BaseName + "-arm64_STANDALONE" + $_.Extension } Get-ChildItem -Path ./publish/x64-fd/*.exe | Rename-Item -NewName { $_.BaseName + "-x64-dotnet" + $_.Extension } Get-ChildItem -Path ./publish/x86-fd/*.exe | Rename-Item -NewName { $_.BaseName + "-x86-dotnet" + $_.Extension } Get-ChildItem -Path ./publish/arm64-fd/*.exe | Rename-Item -NewName { $_.BaseName + "-arm64-dotnet" + $_.Extension } - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: tag_name: v1.0.${{ github.run_number }} # Automatically increments the version number name: Release v1.0.${{ github.run_number }} draft: false prerelease: false files: ./publish/**/*.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}