diff --git a/.github/config/gitversion.yml b/.gitea/config/gitversion.yml similarity index 100% rename from .github/config/gitversion.yml rename to .gitea/config/gitversion.yml diff --git a/.gitea/readme/icon.png b/.gitea/readme/icon.png new file mode 100644 index 0000000..febedfd Binary files /dev/null and b/.gitea/readme/icon.png differ diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..09f312b --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,31 @@ +name: Build + +on: + push: + branches: + - "dev" + paths: + - "TimetableDesigner.Backend.Events**" + pull_request: + branches: + - "dev" + - "main" + paths: + - "TimetableDesigner.Backend.Events**" + +jobs: + build: + name: Build + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 10.0.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore + - name: Create NuGet package + run: dotnet pack -c Debug --output ./ \ No newline at end of file diff --git a/.gitea/workflows/build_publish.yml b/.gitea/workflows/build_publish.yml new file mode 100644 index 0000000..a9ed520 --- /dev/null +++ b/.gitea/workflows/build_publish.yml @@ -0,0 +1,92 @@ +name: Build and publish package + +on: + workflow_dispatch: + branches: + - "main" + push: + branches: + - "main" + paths: + - "TimetableDesigner.Backend.Events**" + +jobs: + build: + name: Build + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 10.0.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore + version: + name: Determine version + needs: build + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 10.0.x + - name: Setup GitVersion + uses: gittools/actions/gitversion/setup@v4.2.0 + with: + versionSpec: 6.4.x + - name: Determine version + uses: gittools/actions/gitversion/execute@v4.2.0 + id: gitversion + with: + configFilePath: ./.gitea/config/gitversion.yml + outputs: + version: ${{ steps.gitversion.outputs.SemVer }} + pack: + name: Pack + needs: version + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 10.0.x + - name: Create NuGet package + run: dotnet pack -c Release -p:Version=${{needs.version.outputs.version}} -p:PackageVersion=${{needs.version.outputs.version}} --output ./ + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: nuget + path: ./TimetableDesigner.Backend.Events.${{needs.version.outputs.version}}.nupkg + outputs: + version: ${{needs.version.outputs.version}} + publish: + name: Publish + needs: pack + steps: + - name: Download artifact + uses: actions/download-artifact@v3 + with: + name: nuget + path: ./ + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 10.0.x + - name: Add package source + run: dotnet nuget add source --name gitea --username TimetableDesigner --password ${{ secrets.GITHUB_TOKEN }} https://gitea.example.com/api/packages/TimetableDesigner/nuget/index.json + - name: Publish + run: dotnet nuget push --source gitea ./TimetableDesigner.Backend.Events.${{needs.pack.outputs.version}}.nupkg + - name: Create Release + uses: akkuman/gitea-release-action@v1 + with: + tag_name: ${{needs.pack.outputs.version}} + name: ${{needs.pack.outputs.version}} + files: |- + TimetableDesigner.Backend.Events.${{needs.pack.outputs.version}}.nupkg \ No newline at end of file diff --git a/.github/workflows/pull_request_dev.yml b/.github/workflows/pull_request_dev.yml deleted file mode 100644 index c1bdb03..0000000 --- a/.github/workflows/pull_request_dev.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Build NuGet package on dev branch pull request - -on: - pull_request: - branches: - - "dev" - paths: - - "TimetableDesigner.Backend.Events**" - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6.0.2 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Build - run: dotnet build \ No newline at end of file diff --git a/.github/workflows/pull_request_main.yml b/.github/workflows/pull_request_main.yml deleted file mode 100644 index 88e58e4..0000000 --- a/.github/workflows/pull_request_main.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Build NuGet package on main branch pull request - -on: - pull_request: - branches: - - "main" - paths: - - "TimetableDesigner.Backend.Events**" - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6.0.2 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Build - run: dotnet build diff --git a/.github/workflows/push_dev.yml b/.github/workflows/push_dev.yml deleted file mode 100644 index 2e22ba3..0000000 --- a/.github/workflows/push_dev.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Build NuGet package on dev branch push - -on: - push: - branches: - - "dev" - paths: - - "TimetableDesigner.Backend.Events**" - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6.0.2 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Build - run: dotnet build \ No newline at end of file diff --git a/.github/workflows/push_main.yml b/.github/workflows/push_main.yml deleted file mode 100644 index 7feda8a..0000000 --- a/.github/workflows/push_main.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Build NuGet package on main branch push - -on: - push: - branches: - - "main" - paths: - - "TimetableDesigner.Backend.Events**" - -jobs: - build: - name: Build and pack - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6.0.2 - with: - fetch-depth: 0 - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Build - run: dotnet build - - name: Setup GitVersion - uses: gittools/actions/gitversion/setup@v4.2.0 - with: - versionSpec: 6.4.x - - name: Determine version - uses: gittools/actions/gitversion/execute@v4.2.0 - id: gitversion - with: - configFilePath: ./.github/config/gitversion.yml - - name: Create NuGet package - run: dotnet pack -c Release -p:Version=${{steps.gitversion.outputs.SemVer}} -p:PackageVersion=${{steps.gitversion.outputs.SemVer}} --output ${{ github.workspace}}/nuget - - name: Upload artifact - uses: actions/upload-artifact@v6 - with: - name: nuget - path: ${{ github.workspace}}/nuget/*.nupkg - outputs: - version: ${{ steps.gitversion.outputs.SemVer }} - publish: - name: Publish - permissions: write-all - runs-on: ubuntu-latest - needs: build - steps: - - name: Download artifact - uses: actions/download-artifact@v6 - with: - name: nuget - path: ${{ github.workspace}}/nuget - - name: Setup .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 10.0.x - - name: Add source - run: dotnet nuget add source --username TimetableDesigner --password ${{secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/TimetableDesigner/index.json" - - name: Publish - run: dotnet nuget push ${{ github.workspace}}/nuget/*.nupkg --source "github" --api-key ${{ secrets.NUGET_REGISTRY_API_KEY }} --skip-duplicate - - name: Create Release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{needs.build.outputs.version}} - release_name: ${{needs.build.outputs.version}} - draft: false - prerelease: false - -