diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..de0505e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,50 @@ +name: Build + +on: + push: + branches: [ main, develop ] + pull_request: + branches: [ main, develop ] + +jobs: + build: + runs-on: windows-latest + permissions: + contents: read + packages: read + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x' + + - name: Configure NuGet sources + run: | + dotnet nuget add source https://nuget.pkg.github.com/Duckov-Custom-Model/index.json --name github --username Duckov-Custom-Model --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text + + - name: Restore dependencies + run: dotnet restore + env: + CI: true + GITHUB_ACTIONS: true + + - name: Build + run: dotnet build --configuration Release --no-restore + env: + CI: true + GITHUB_ACTIONS: true + + - name: Test (if any) + run: dotnet test --configuration Release --no-build --verbosity normal + continue-on-error: true + + - name: Upload Build Artifacts + uses: actions/upload-artifact@v4 + with: + name: DuckovCustomModel + path: DuckovCustomModel/bin/Release/netstandard2.1 + retention-days: 7 + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..cfa4333 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,64 @@ +name: Release + +on: + push: + tags: + - '*.*.*' + - '*.*.*-*' + +jobs: + build-and-release: + runs-on: windows-latest + permissions: + contents: write + packages: read + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.x' + + - name: Configure NuGet sources + run: | + dotnet nuget add source https://nuget.pkg.github.com/Duckov-Custom-Model/index.json --name github --username Duckov-Custom-Model --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text + + - name: Restore dependencies + run: dotnet restore + env: + CI: true + GITHUB_ACTIONS: true + + - name: Build + run: dotnet build --configuration Release --no-restore + env: + CI: true + GITHUB_ACTIONS: true + + - name: Create Release Package + run: | + cd DuckovCustomModel + dotnet build --configuration Release --no-restore + continue-on-error: false + env: + CI: true + GITHUB_ACTIONS: true + + - name: Upload Release Artifacts + uses: actions/upload-artifact@v4 + with: + name: release-package + path: | + DuckovCustomModel/bin/Release/*.zip + retention-days: 30 + + - name: Create GitHub Release + uses: softprops/action-gh-release@v1 + with: + files: DuckovCustomModel/bin/Release/*.zip + generate_release_notes: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + diff --git a/DuckovCustomModel/DuckovCustomModel.csproj b/DuckovCustomModel/DuckovCustomModel.csproj index 9085607..755f2cb 100644 --- a/DuckovCustomModel/DuckovCustomModel.csproj +++ b/DuckovCustomModel/DuckovCustomModel.csproj @@ -10,7 +10,18 @@ E:\SteamLibrary\steamapps\common\Escape from Duckov - + + true + false + + + + + + + + + False @@ -58,7 +69,7 @@ - diff --git a/DuckovCustomModelRegister/DuckovCustomModelRegister.csproj b/DuckovCustomModelRegister/DuckovCustomModelRegister.csproj index 636f9e8..2ddd9f3 100644 --- a/DuckovCustomModelRegister/DuckovCustomModelRegister.csproj +++ b/DuckovCustomModelRegister/DuckovCustomModelRegister.csproj @@ -10,7 +10,18 @@ E:\SteamLibrary\steamapps\common\Escape from Duckov - + + true + false + + + + + + + + + False