diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8e8748f..aa8c820 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,35 +5,72 @@ on: branches: [master] jobs: - build: - name: Build Launcher + compute-version: + name: Compute Version runs-on: ubuntu-latest - env: - VPK_CHANNEL: win - VPK_OUTPUT_DIR: Releases + outputs: + version: ${{ steps.version.outputs.version }} steps: - uses: actions/checkout@master with: ref: ${{ github.head_ref }} fetch-depth: 0 - - - uses: actions/setup-dotnet@v3 - with: - dotnet-version: '8.0.x' - - - run: dotnet restore CringeBootstrap/CringeBootstrap.csproj --locked-mode -r win-x64 - name: Restore Project - - name: Git Version - id: version + - id: version uses: paulhatch/semantic-version@v5.3.0 with: tag_prefix: '' major_pattern: 'breaking:' minor_pattern: 'feature:' bump_each_commit: true + + build-nuget: + name: Build Nuget package + runs-on: ubuntu-latest + needs: [compute-version] + strategy: + matrix: + project: [CringeBootstrap.Abstractions, NuGet, SharedCringe, CringePlugins] + steps: + - uses: actions/checkout@master + + - uses: actions/setup-dotnet@v4 + + - run: dotnet restore ${{ matrix.project }}/${{ matrix.project }}.csproj --locked-mode -r win-x64 + name: Restore Project + + - run: dotnet pack -c Release -o ./pub ${{ matrix.project }}/${{ matrix.project }}.csproj --no-restore -p:Version="${{ needs.compute-version.outputs.version }}" -r win-x64 + name: Pack Project + + - name: Install Sleet + run: dotnet tool install -g sleet + + - name: Push Nuget Package + env: + SLEET_FEED_TYPE: s3 + SLEET_FEED_PATH: https://dl.zznty.ru/ + SLEET_FEED_BUCKETNAME: ${{ secrets.S3_BUCKET }} + SLEET_FEED_SERVICEURL: ${{ secrets.S3_ENDPOINT }} + SLEET_FEED_ACCESSKEYID: ${{ secrets.S3_KEY_ID }} + SLEET_FEED_SECRETACCESSKEY: ${{ secrets.S3_SECRET }} + run: ~/.dotnet/tools/sleet push ./pub + + build: + name: Build Launcher + runs-on: ubuntu-latest + needs: [compute-version] + env: + VPK_CHANNEL: win + VPK_OUTPUT_DIR: Releases + steps: + - uses: actions/checkout@master - - run: dotnet publish -c Release -o ./pub CringeBootstrap/CringeBootstrap.csproj --no-restore -p:Version="${{ steps.version.outputs.version }}" -r win-x64 --no-self-contained + - uses: actions/setup-dotnet@v4 + + - run: dotnet restore CringeBootstrap/CringeBootstrap.csproj --locked-mode -r win-x64 + name: Restore Project + + - run: dotnet publish -c Release -o ./pub CringeBootstrap/CringeBootstrap.csproj --no-restore -p:Version="${{ needs.compute-version.outputs.version }}" -r win-x64 --no-self-contained id: publish name: Build Project diff --git a/NuGet/NuGet.csproj b/NuGet/NuGet.csproj index 5e74d2e..9dbc45a 100644 --- a/NuGet/NuGet.csproj +++ b/NuGet/NuGet.csproj @@ -5,6 +5,7 @@ win-x64 enable enable + true diff --git a/NuGet/packages.lock.json b/NuGet/packages.lock.json new file mode 100644 index 0000000..0df2633 --- /dev/null +++ b/NuGet/packages.lock.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "dependencies": { + "net8.0": { + "NuGet.Frameworks": { + "type": "Direct", + "requested": "[6.11.1, )", + "resolved": "6.11.1", + "contentHash": "plTZ3ariSWQVsFn2mk83SsdmSg1VpgIMTSZpP/eSE/NNQF02p+M9ItxAYeUZBMX+cQ2nFkSwxQRJ0/fkaV9Hbg==" + }, + "NuGet.Versioning": { + "type": "Direct", + "requested": "[6.11.1, )", + "resolved": "6.11.1", + "contentHash": "YNn3BB71F+guJW42TbAhGcMh3gpyqFMZcPVD9pm5vcvGivTALtRely/VCPWQQ6JQ5PfwIrjPaJMO7VnqyeK3rg==" + } + }, + "net8.0/win-x64": {} + } +} \ No newline at end of file diff --git a/global.json b/global.json new file mode 100644 index 0000000..da113e4 --- /dev/null +++ b/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "8.0.0", + "rollForward": "latestFeature", + "allowPrerelease": false + } +} \ No newline at end of file