diff --git a/.github/RELEASE_TEMPLATE.md b/.github/RELEASE_TEMPLATE.md new file mode 100644 index 0000000..220ba4e --- /dev/null +++ b/.github/RELEASE_TEMPLATE.md @@ -0,0 +1,5 @@ +This version requires ArchiSteamFarm VX.X.X.X or newer + +### Changelog + +- diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..4f4ac00 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,81 @@ +name: publish + +on: [push, pull_request] + +env: + PLUGIN_NAME: "CS2Interface" + DOTNET_SDK_VERSION: 8.0 + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4.1.1 + with: + submodules: recursive + + - name: Setup .NET Core + uses: actions/setup-dotnet@v4.0.0 + with: + dotnet-version: ${{ env.DOTNET_SDK_VERSION }} + + - name: Verify .NET Core + run: dotnet --info + + - name: Prepare for publishing + run: dotnet restore + + - name: Publish + run: | + dotnet publish ${{ env.PLUGIN_NAME }} -c "Release" -o "out/generic" -p:ContinuousIntegrationBuild=true --nologo + mkdir -p ./out/dist/${{ env.PLUGIN_NAME }} + cp ./out/generic/${{ env.PLUGIN_NAME }}.dll ./out/dist/${{ env.PLUGIN_NAME }} + cp ./out/generic/ValveKeyValue.dll ./out/dist/${{ env.PLUGIN_NAME }} + + - name: Create README + uses: docker://pandoc/core:3.1 + with: + args: --metadata title="${{ env.PLUGIN_NAME }}" --standalone --columns 2000 -f markdown -t html --embed-resources --standalone -c ./github-pandoc.css -o ./out/dist/${{ env.PLUGIN_NAME }}/README.html README.md + + - name: Upload ${{ env.PLUGIN_NAME }} + uses: actions/upload-artifact@v4.0.0 + with: + name: ${{ env.PLUGIN_NAME }} + path: out/dist + + release: + if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }} + needs: publish + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - name: Checkout code + uses: actions/checkout@v4.1.1 + + - name: Download ${{ env.PLUGIN_NAME }} artifact + uses: actions/download-artifact@v4.1.0 + with: + name: ${{ env.PLUGIN_NAME }} + path: out + + - name: Create Zip + run: | + cd out + 7z a -tzip -mx7 ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }} + + - name: Create ${{ env.PLUGIN_NAME }} GitHub release + uses: ncipollo/release-action@v1.13.0 + with: + artifacts: out/${{ env.PLUGIN_NAME }}.zip + artifactContentType: application/zip + name: ${{ env.PLUGIN_NAME }} V${{ github.ref_name }} + tag: ${{ github.ref_name }} + bodyFile: .github/RELEASE_TEMPLATE.md + token: ${{ secrets.GITHUB_TOKEN }} + makeLatest: false + prerelease: true + draft: true diff --git a/CS2Interface/CS2Interface.csproj b/CS2Interface/CS2Interface.csproj index 37d398a..63e167b 100644 --- a/CS2Interface/CS2Interface.csproj +++ b/CS2Interface/CS2Interface.csproj @@ -2,14 +2,15 @@ Citrinate - 1.0.1 + 1.0.2 enable latest net8.0 + true - + diff --git a/build.bat b/build.bat index f668580..925de28 100644 --- a/build.bat +++ b/build.bat @@ -21,7 +21,7 @@ if exist out rmdir /Q /S out rem release generic version -dotnet publish -c "Release" -f "net8.0" -o "out/generic" "/p:LinkDuringPublish=false" +dotnet publish CS2Interface -c "Release" -f "net8.0" -o "out/generic" "/p:LinkDuringPublish=false" mkdir .\out\%CurrDirName% copy .\out\generic\%CurrDirName%.dll .\out\%CurrDirName% rem comment section below (downto :zip label) if you don't want to include documentation diff --git a/build.sh b/build.sh index 3278fc2..6ec5aa0 100755 --- a/build.sh +++ b/build.sh @@ -45,7 +45,7 @@ fi ## release generic version dotnet restore sync -dotnet publish -c "Release" -f net8.0 -o "out/generic" "/p:LinkDuringPublish=false" +dotnet publish CS2Interface -c "Release" -f net8.0 -o "out/generic" "/p:LinkDuringPublish=false" mkdir ./out/$plugin_name cp ./out/generic/$plugin_name.dll ./out/$plugin_name cp ./out/generic/ValveKeyValue.dll ./out/$plugin_name