diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9d27ef4..44ee035 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -64,43 +64,84 @@ jobs: # Use the .NET SDK from global.json in the root of the repository. global-json-file: global.json # Write version to file so .NET will build correct version. - - name: Write Version to File - uses: jacobtomlinson/gha-find-replace@v3 - with: - find: "0.0.0-devbuild" - replace: ${{ steps.next-version.outputs.version }} - regex: false - include: GodotHelper/GodotHelper.csproj + # - name: Write Version to File + # uses: jacobtomlinson/gha-find-replace@v3 + # with: + # find: "0.0.0-devbuild" + # replace: ${{ steps.next-version.outputs.version }} + # regex: false + # include: GodotHelper/GodotHelper.csproj + # - name: Build + # working-directory: GodotHelper + # run: dotnet build -c Release + + # - name: Get Package Path + # id: package-path + # run: | + # package=$(find ./GodotHelper/nupkg -name "*.nupkg") + # echo "package=$package" >> "$GITHUB_OUTPUT" + # echo "Found package: $package" + # echo "${{ steps.package-path.outputs.package }}" + + # # - name: Create Release + # # run: | + # # version="${{ steps.next-version.outputs.version }}" + + # # curl -X POST "http://192.168.1.4:3000/api/packages/Ronnie/GodotHelpers/releases" \ + # # -H "Authorization: token ${{ secrets.GH_BASIC }}" \ + # # -H "Content-Type: application/json" \ + # # -d "{ + # # \"tag_name\": \"$version\", + # # \"name\": \"v$version\", + # # \"body\": \"Auto release $version\" + # # }" + # - name: Publish to Nuget + # run: | + # dotnet nuget push "${{ steps.package-path.outputs.package }}" \ + # --source "gitea:3000/api/packages/Ronnie/nuget/index.json" \ + # --allow-insecure-connections \ + # --api-key "${{ secrets.NUGET_KEY }}" \ + # --skip-duplicate + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 10.0.x + + - name: Restore + run: dotnet restore + - name: Calculate Version + id: version + run: | + TAG=$(git describe --tags --abbrev=0) + COMMITS=$(git rev-list $TAG..HEAD --count) + + BASE=${TAG#v} + + IFS='.' read MAJOR MINOR PATCH <<< "$BASE" + + NEW_PATCH=$((PATCH + COMMITS)) + + VERSION="$MAJOR.$MINOR.$NEW_PATCH" + + echo "VERSION=$VERSION" >> $GITHUB_OUTPUT - name: Build - working-directory: GodotHelper run: dotnet build -c Release - - name: Get Package Path - id: package-path + - name: Pack run: | - package=$(find ./GodotHelper/nupkg -name "*.nupkg") - echo "package=$package" >> "$GITHUB_OUTPUT" - echo "Found package: $package" - echo "${{ steps.package-path.outputs.package }}" + dotnet pack \ + -p:PackageVersion=${{ steps.version.outputs.VERSION }} \ + -c Release - - name: Create Release + - name: Publish run: | - version="${{ steps.next-version.outputs.version }}" - - curl -X POST "http://192.168.1.4:3000/api/packages/Ronnie/GodotHelpers/releases" \ - -H "Authorization: token ${{ secrets.GH_BASIC }}" \ - -H "Content-Type: application/json" \ - -d "{ - \"tag_name\": \"$version\", - \"name\": \"v$version\", - \"body\": \"Auto release $version\" - }" - - name: Publish to Nuget - run: | - dotnet nuget push "${{ steps.package-path.outputs.package }}" \ + dotnet nuget push ./bin/Release/*.nupkg \ --source "http://192.168.1.4:3000/api/packages/Ronnie/nuget/index.json" \ --allow-insecure-connections \ --api-key "${{ secrets.NUGET_KEY }}" \ --skip-duplicate + +