diff --git a/.github/workflows/changelog.yml b/.gitea/workflows/changelog.yml similarity index 100% rename from .github/workflows/changelog.yml rename to .gitea/workflows/changelog.yml diff --git a/.github/workflows/dotnet.yml b/.gitea/workflows/dotnet.yml similarity index 81% rename from .github/workflows/dotnet.yml rename to .gitea/workflows/dotnet.yml index 217f7cb..758f532 100755 --- a/.github/workflows/dotnet.yml +++ b/.gitea/workflows/dotnet.yml @@ -1,5 +1,5 @@ # This workflow will build a .NET project -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net +# Runs on Gitea Actions (GitHub Actions compatible syntax): https://docs.gitea.com/usage/actions/overview name: .NET diff --git a/.gitea/workflows/gitea-publish.yml b/.gitea/workflows/gitea-publish.yml new file mode 100644 index 0000000..149442c --- /dev/null +++ b/.gitea/workflows/gitea-publish.yml @@ -0,0 +1,30 @@ +name: Publish to Gitea Packages +on: + workflow_dispatch: + inputs: + tag_name: + description: 'Version tag (e.g., 1.0.0)' + required: true + type: string +run-name: "Publish version v${{ inputs.tag_name }} to Gitea Packages" +jobs: + publish: + runs-on: ubuntu-latest + strategy: + matrix: + project: + - OmegaLeo.HelperLib + - OmegaLeo.HelperLib.Changelog + - OmegaLeo.HelperLib.Game + - OmegaLeo.HelperLib.Documentation + - OmegaLeo.HelperLib.Shared + steps: + - uses: actions/checkout@v4 + - name: Setup .Net Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + - name: Create Nuget Package + run: dotnet pack "./${{ matrix.project }}/${{ matrix.project }}.csproj" -c Release /p:Version=${{ inputs.tag_name }} + - name: Publish to Gitea Packages + run: dotnet nuget push ./${{ matrix.project }}/bin/Release/${{ matrix.project }}.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.TOKEN }} --source ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/nuget/index.json --skip-duplicate diff --git a/.gitea/workflows/nuget-publish.yml b/.gitea/workflows/nuget-publish.yml new file mode 100755 index 0000000..1261720 --- /dev/null +++ b/.gitea/workflows/nuget-publish.yml @@ -0,0 +1,37 @@ +name: Publish Nuget Packages +on: + release: + types: [published] +run-name: "Publish version v${{ github.event.release.tag_name }} to nuget" +jobs: + publish: + runs-on: ubuntu-latest + strategy: + matrix: + project: + - OmegaLeo.HelperLib + - OmegaLeo.HelperLib.Changelog + - OmegaLeo.HelperLib.Game + - OmegaLeo.HelperLib.Documentation + - OmegaLeo.HelperLib.Shared + env: + VERSION: ${{ github.event.release.tag_name }} + PACKAGE: ./${{ matrix.project }}/bin/Release/${{ matrix.project }}.${{ github.event.release.tag_name }}.nupkg + steps: + - uses: actions/checkout@v4 + - name: Setup .Net Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.x' + - name: Create Nuget Package + run: dotnet pack "./${{ matrix.project }}/${{ matrix.project }}.csproj" -c Release /p:Version=$VERSION /p:PackageReleaseNotes="See ${{ github.server_url }}/${{ github.repository }}/releases/tag/$VERSION" + - name: Publish Nuget Package + run: dotnet nuget push "$PACKAGE" --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate + - name: Publish to Gitea Packages + run: dotnet nuget push "$PACKAGE" --api-key ${{ secrets.TOKEN }} --source ${{ github.server_url }}/api/packages/${{ github.repository_owner }}/nuget/index.json --skip-duplicate + - name: Upload assets to release + run: | + curl --fail --silent --show-error \ + -H "Authorization: token ${{ secrets.TOKEN }}" \ + -F "attachment=@$PACKAGE" \ + "${{ github.server_url }}/api/v1/repos/${{ github.repository }}/releases/${{ github.event.release.id }}/assets?name=${{ matrix.project }}.$VERSION.nupkg" diff --git a/.github/workflows/github-publish.yml b/.github/workflows/github-publish.yml deleted file mode 100644 index 78ba36d..0000000 --- a/.github/workflows/github-publish.yml +++ /dev/null @@ -1,77 +0,0 @@ -name: Publish to GitHub Packages -on: - workflow_dispatch: - inputs: - tag_name: - description: 'Version tag (e.g., 1.0.0)' - required: true - type: string -run-name: "Publish version v${{ inputs.tag_name }} to GitHub Packages" -permissions: - contents: read - packages: write -jobs: - publish-helper-lib: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib/OmegaLeo.HelperLib.csproj" -c Release /p:Version=${{ inputs.tag_name }} - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib/bin/Release/OmegaLeo.HelperLib.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - publish-changelog-lib: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Changelog/OmegaLeo.HelperLib.Changelog.csproj" -c Release /p:Version=${{ inputs.tag_name }} - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Changelog/bin/Release/OmegaLeo.HelperLib.Changelog.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - publish-game-lib: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Game/OmegaLeo.HelperLib.Game.csproj" -c Release /p:Version=${{ inputs.tag_name }} - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Game/bin/Release/OmegaLeo.HelperLib.Game.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - publish-doc-lib: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Documentation/OmegaLeo.HelperLib.Documentation.csproj" -c Release /p:Version=${{ inputs.tag_name }} - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Documentation/bin/Release/OmegaLeo.HelperLib.Documentation.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - publish-shared-lib: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Shared/OmegaLeo.HelperLib.Shared.csproj" -c Release /p:Version=${{ inputs.tag_name }} - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Shared/bin/Release/OmegaLeo.HelperLib.Shared.${{ inputs.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate diff --git a/.github/workflows/nuget-publish.yml b/.github/workflows/nuget-publish.yml deleted file mode 100755 index 3c6b637..0000000 --- a/.github/workflows/nuget-publish.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: Publish Nuget Packages -on: - release: - types: [created] -run-name: "Publish version v${{github.event.release.tag_name}} to nuget" -jobs: - get-release: - name: Get Release - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Get release - id: get_release - uses: bruceadams/get-release@v1.2.3 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - outputs: - upload_url: ${{ steps.get_release.outputs.upload_url }} - publish-helper-lib: - runs-on: ubuntu-latest - needs: [get-release] - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Update Project Version - run: sed -i "s/\(\([0-9]\+\.\)\{2\}\)\([0-9]\+\)/\1${{ github.event.release.tag_name }}/" "./OmegaLeo.HelperLib/OmegaLeo.HelperLib.csproj" - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib/OmegaLeo.HelperLib.csproj" -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/omegaleo/OmegaLeo.HelperLib/releases/tag/${{ github.event.release.tag_name }}" - - name: Publish Nuget Package - run: dotnet nuget push ./OmegaLeo.HelperLib/bin/Release/OmegaLeo.HelperLib.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.nuget_api_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib/bin/Release/OmegaLeo.HelperLib.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - name: Upload assets to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - upload_url: ${{ needs.get-release.outputs.upload_url }} - asset_path: ./OmegaLeo.HelperLib/bin/Release/OmegaLeo.HelperLib.${{ github.event.release.tag_name }}.nupkg - asset_name: OmegaLeo.HelperLib.${{ github.event.release.tag_name }}.nupkg - asset_content_type: application/zip - publish-changelog-lib: - runs-on: ubuntu-latest - needs: [ get-release ] - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Update Project Version - run: sed -i "s/\(\([0-9]\+\.\)\{2\}\)\([0-9]\+\)/\1${{ github.event.release.tag_name }}/" "./OmegaLeo.HelperLib.Changelog/OmegaLeo.HelperLib.Changelog.csproj" - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Changelog/OmegaLeo.HelperLib.Changelog.csproj" -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/omegaleo/OmegaLeo.HelperLib/releases/tag/${{ github.event.release.tag_name }}" - - name: Publish Nuget Package - run: dotnet nuget push ./OmegaLeo.HelperLib.Changelog/bin/Release/OmegaLeo.HelperLib.Changelog.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.nuget_api_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Changelog/bin/Release/OmegaLeo.HelperLib.Changelog.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - name: Upload assets to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - upload_url: ${{ needs.get-release.outputs.upload_url }} - asset_path: ./OmegaLeo.HelperLib.Changelog/bin/Release/OmegaLeo.HelperLib.Changelog.${{ github.event.release.tag_name }}.nupkg - asset_name: OmegaLeo.HelperLib.Changelog.${{ github.event.release.tag_name }}.nupkg - asset_content_type: application/zip - publish-game-lib: - runs-on: ubuntu-latest - needs: [ get-release ] - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Update Project Version - run: sed -i "s/\(\([0-9]\+\.\)\{2\}\)\([0-9]\+\)/\1${{ github.event.release.tag_name }}/" "./OmegaLeo.HelperLib.Game/OmegaLeo.HelperLib.Game.csproj" - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Game/OmegaLeo.HelperLib.Game.csproj" -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/omegaleo/OmegaLeo.HelperLib/releases/tag/${{ github.event.release.tag_name }}" - - name: Publish Nuget Package - run: dotnet nuget push ./OmegaLeo.HelperLib.Game/bin/Release/OmegaLeo.HelperLib.Game.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.nuget_api_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Game/bin/Release/OmegaLeo.HelperLib.Game.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - name: Upload assets to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - upload_url: ${{ needs.get-release.outputs.upload_url }} - asset_path: ./OmegaLeo.HelperLib.Game/bin/Release/OmegaLeo.HelperLib.Game.${{ github.event.release.tag_name }}.nupkg - asset_name: OmegaLeo.HelperLib.Game.${{ github.event.release.tag_name }}.nupkg - asset_content_type: application/zip - publish-doc-lib: - runs-on: ubuntu-latest - needs: [ get-release ] - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Update Project Version - run: sed -i "s/\(\([0-9]\+\.\)\{2\}\)\([0-9]\+\)/\1${{ github.event.release.tag_name }}/" "./OmegaLeo.HelperLib.Documentation/OmegaLeo.HelperLib.Documentation.csproj" - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Documentation/OmegaLeo.HelperLib.Documentation.csproj" -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/omegaleo/OmegaLeo.HelperLib/releases/tag/${{ github.event.release.tag_name }}" - - name: Publish Nuget Package - run: dotnet nuget push ./OmegaLeo.HelperLib.Documentation/bin/Release/OmegaLeo.HelperLib.Documentation.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.nuget_api_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Documentation/bin/Release/OmegaLeo.HelperLib.Documentation.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - name: Upload assets to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - upload_url: ${{ needs.get-release.outputs.upload_url }} - asset_path: ./OmegaLeo.HelperLib.Documentation/bin/Release/OmegaLeo.HelperLib.Documentation.${{ github.event.release.tag_name }}.nupkg - asset_name: OmegaLeo.HelperLib.Documentation.${{ github.event.release.tag_name }}.nupkg - asset_content_type: application/zip - publish-shared-lib: - runs-on: ubuntu-latest - needs: [ get-release ] - steps: - - uses: actions/checkout@v2 - - name: Setup .Net Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '8.0.x' - - name: Update Project Version - run: sed -i "s/\(\([0-9]\+\.\)\{2\}\)\([0-9]\+\)/\1${{ github.event.release.tag_name }}/" "./OmegaLeo.HelperLib.Shared/OmegaLeo.HelperLib.Shared.csproj" - - name: Create Nuget Package - run: dotnet pack "./OmegaLeo.HelperLib.Shared/OmegaLeo.HelperLib.Shared.csproj" -c Release /p:Version=${{ github.event.release.tag_name }} /p:PackageReleaseNotes="See https://github.com/omegaleo/OmegaLeo.HelperLib/releases/tag/${{ github.event.release.tag_name }}" - - name: Publish Nuget Package - run: dotnet nuget push ./OmegaLeo.HelperLib.Shared/bin/Release/OmegaLeo.HelperLib.Shared.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.nuget_api_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate - - name: Publish to GitHub Packages - run: dotnet nuget push ./OmegaLeo.HelperLib.Shared/bin/Release/OmegaLeo.HelperLib.Shared.${{ github.event.release.tag_name }}.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source https://nuget.pkg.github.com/omegaleo/index.json --skip-duplicate - - name: Upload assets to release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - upload_url: ${{ needs.get-release.outputs.upload_url }} - asset_path: ./OmegaLeo.HelperLib.Shared/bin/Release/OmegaLeo.HelperLib.Shared.${{ github.event.release.tag_name }}.nupkg - asset_name: OmegaLeo.HelperLib.Shared.${{ github.event.release.tag_name }}.nupkg - asset_content_type: application/zip \ No newline at end of file