diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 232a3c2..9dab3b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,8 @@ name: Build & Release on: push: - branches: "master" + branches: + - "master" paths-ignore: - '**/README.md' tags: @@ -11,8 +12,7 @@ on: branches: "*" paths-ignore: - '**/README.md' - - + env: DOTNET_NOLOGO: false DOTNET_CLI_TELEMETRY_OPTOUT: 1 @@ -30,10 +30,22 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + fetch-depth: 0 - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: 8.0.x + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.0.0 + with: + versionSpec: '6.x' + - name: Execute GitVersion + id: executeGitVersion + uses: gittools/actions/gitversion/execute@v3.0.0 + with: + useConfigFile: 'true' + updateAssemblyInfo: 'true' + updateAssemblyInfoFilename: "${{ matrix.project.name }}/AssemblyInfo.cs" - name: Publish run: dotnet publish ${{ matrix.project.name }} -c Release -o release_${{ matrix.project.name }} -p:DebugType=None ${{ matrix.project.extraArgs }} - name: Upload Build Artifact @@ -41,6 +53,8 @@ jobs: with: name: ${{ matrix.project.name }}-${{ runner.os }}-${{ runner.arch }} path: ${{ github.workspace }}/release_${{ matrix.project.name }}/* + outputs: + semVer: ${{ steps.executeGitVersion.outputs.assemblySemVer }} release: runs-on: ubuntu-latest @@ -62,7 +76,7 @@ jobs: zip -qq -r release/Cedserver-$arch-x64.zip artifacts/Server-$arch-X64/ zip -qq -r release/CentrED-$arch-x64.zip artifacts/CentrED-$arch-X64/ done - + - name: Create Release uses: ncipollo/release-action@v1.12.0 if: startsWith(github.ref, 'refs/tags/') @@ -70,16 +84,15 @@ jobs: artifacts: release/* generateReleaseNotes: true skipIfReleaseExists: true + tag: ${{ needs.build.outputs.semVer }} - - name: Create Dev Release + - name: Create Pre-Release uses: ncipollo/release-action@v1.12.0 if: github.ref == 'refs/heads/master' with: - allowUpdates: true artifacts: release/* generateReleaseNotes: false makeLatest: true prerelease: true - replacesArtifacts: true - tag: dev + tag: ${{ needs.build.outputs.semVer }} \ No newline at end of file diff --git a/CentrED/AssemblyInfo.cs b/CentrED/AssemblyInfo.cs new file mode 100644 index 0000000..856831e --- /dev/null +++ b/CentrED/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; + +[assembly: AssemblyFileVersion("0.0.2.0")] +[assembly: AssemblyVersion("0.0.2.0")] + +[assembly: AssemblyTitle("CentrED")] +[assembly: AssemblyDescription("CentrED Application")] + +[assembly: AssemblyCompany("Nelderim")] +[assembly: AssemblyProduct("Centred#")] + +[assembly: AssemblyInformationalVersion("0.0.1+Branch.gitversion.Sha.0ee65457e499fadc5fd917bf211b8e3ceacac803")] diff --git a/CentrED/CentrED.csproj b/CentrED/CentrED.csproj index 4bcbfe2..43d5efc 100644 --- a/CentrED/CentrED.csproj +++ b/CentrED/CentrED.csproj @@ -10,7 +10,7 @@ true false - true + false true true diff --git a/CentrED/CentrEDGame.cs b/CentrED/CentrEDGame.cs index 1daae15..871c5de 100644 --- a/CentrED/CentrEDGame.cs +++ b/CentrED/CentrEDGame.cs @@ -1,3 +1,4 @@ +using System.Reflection; using CentrED.Map; using CentrED.UI; using ClassicUO.Utility.Logging; @@ -29,7 +30,9 @@ public CentrEDGame() e.GraphicsDeviceInformation.PresentationParameters.RenderTargetUsage = RenderTargetUsage.DiscardContents; }; - + var assName = Assembly.GetExecutingAssembly().GetName(); + Window.Title = $"{assName.Name} {assName.Version}"; + IsMouseVisible = true; Window.AllowUserResizing = true; Window.ClientSizeChanged += OnWindowResized; diff --git a/Client/AssemblyInfo.cs b/Client/AssemblyInfo.cs new file mode 100644 index 0000000..82b3898 --- /dev/null +++ b/Client/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; + +[assembly: AssemblyFileVersion("0.0.1.0")] +[assembly: AssemblyVersion("0.0.1.0")] + +[assembly: AssemblyTitle("CentrED Client")] +[assembly: AssemblyDescription("CentrED Client")] + +[assembly: AssemblyCompany("Nelderim")] +[assembly: AssemblyProduct("Centred#Client")] + +[assembly: AssemblyInformationalVersion("0.0.1+Branch.gitversion.Sha.0ee65457e499fadc5fd917bf211b8e3ceacac803")] diff --git a/Client/Client.csproj b/Client/Client.csproj index 758b957..417f5f0 100644 --- a/Client/Client.csproj +++ b/Client/Client.csproj @@ -5,6 +5,7 @@ enable enable CentrED.Client + false diff --git a/GitVersion.yml b/GitVersion.yml new file mode 100644 index 0000000..adbb8d7 --- /dev/null +++ b/GitVersion.yml @@ -0,0 +1,167 @@ +assembly-versioning-format: '{Major}.{Minor}.{Patch}.{CommitsSinceVersionSource ?? 0}' +assembly-file-versioning-format: '{Major}.{Minor}.{Patch}.{CommitsSinceVersionSource ?? 0}' +tag-prefix: '[vV]?' +version-in-branch-pattern: (?[vV]?\d+(\.\d+)?(\.\d+)?).* +major-version-bump-message: '\+semver:\s?(breaking|major)' +minor-version-bump-message: '\+semver:\s?(feature|minor)' +patch-version-bump-message: '\+semver:\s?(fix|patch)' +no-bump-message: '\+semver:\s?(none|skip)' +tag-pre-release-weight: 60000 +commit-date-format: yyyy-MM-dd +merge-message-formats: {} +update-build-number: true +semantic-version-format: Strict +strategies: + - Fallback + - ConfiguredNextVersion + - MergeMessage + - TaggedCommit + - TrackReleaseBranches + - VersionInBranchName +branches: + develop: + mode: ContinuousDelivery + label: alpha + increment: Minor + prevent-increment: + when-current-commit-tagged: false + track-merge-target: true + track-merge-message: true + regex: ^dev(elop)?(ment)?$ + source-branches: + - main + is-source-branch-for: [] + tracks-release-branches: true + is-release-branch: false + is-main-branch: false + pre-release-weight: 0 + main: + label: '' + increment: Patch + prevent-increment: + of-merged-branch: true + track-merge-target: false + track-merge-message: true + regex: ^master$|^main$ + source-branches: [] + is-source-branch-for: [] + tracks-release-branches: false + is-release-branch: false + is-main-branch: true + pre-release-weight: 55000 + release: + mode: ManualDeployment + label: beta + increment: Minor + prevent-increment: + of-merged-branch: true + when-current-commit-tagged: false + track-merge-target: false + regex: ^releases?[/-](?.+) + source-branches: + - main + - support + is-source-branch-for: [] + tracks-release-branches: false + is-release-branch: true + is-main-branch: false + pre-release-weight: 30000 + feature: + mode: ManualDeployment + label: '{BranchName}' + increment: Inherit + prevent-increment: + when-current-commit-tagged: false + track-merge-message: true + regex: ^features?[/-](?.+) + source-branches: + - develop + - main + - release + - support + - hotfix + is-source-branch-for: [] + is-main-branch: false + pre-release-weight: 30000 + pull-request: + mode: ContinuousDelivery + label: PullRequest + increment: Inherit + prevent-increment: + of-merged-branch: true + when-current-commit-tagged: false + label-number-pattern: '[/-](?\d+)' + track-merge-message: true + regex: ^(pull|pull\-requests|pr)[/-] + source-branches: + - develop + - main + - release + - feature + - support + - hotfix + is-source-branch-for: [] + pre-release-weight: 30000 + hotfix: + mode: ManualDeployment + label: beta + increment: Inherit + prevent-increment: + when-current-commit-tagged: false + regex: ^hotfix(es)?[/-](?.+) + source-branches: + - main + - support + is-source-branch-for: [] + is-release-branch: true + is-main-branch: false + pre-release-weight: 30000 + support: + label: '' + increment: Patch + prevent-increment: + of-merged-branch: true + track-merge-target: false + regex: ^support[/-](?.+) + source-branches: + - main + is-source-branch-for: [] + tracks-release-branches: false + is-release-branch: false + is-main-branch: true + pre-release-weight: 55000 + unknown: + mode: ManualDeployment + label: '{BranchName}' + increment: Inherit + prevent-increment: + when-current-commit-tagged: true + regex: (?.+) + source-branches: + - main + - develop + - release + - feature + - pull-request + - hotfix + - support + is-source-branch-for: [] + is-main-branch: false +ignore: + sha: [] +mode: ContinuousDelivery +label: '{BranchName}' +increment: Inherit +prevent-increment: + of-merged-branch: false + when-branch-merged: false + when-current-commit-tagged: true +track-merge-target: false +track-merge-message: true +commit-message-incrementing: Enabled +regex: '' +source-branches: [] +is-source-branch-for: [] +tracks-release-branches: false +is-release-branch: false +is-main-branch: false \ No newline at end of file diff --git a/Server/Application.cs b/Server/Application.cs index 9b2b4a5..dc89ea4 100644 --- a/Server/Application.cs +++ b/Server/Application.cs @@ -7,8 +7,11 @@ public class Application { public static void Main(string[] args) { - Console.WriteLine($"CentrED# Server Version {Assembly.GetExecutingAssembly().GetName().Version}"); - Console.WriteLine("Copyright " + Constants.Assembly.Copyright); + var assemblyName = Assembly.GetExecutingAssembly().GetName(); + var title = $"{assemblyName.Name} {assemblyName.Version}"; + Console.Title = title; + Console.WriteLine(title); + Console.WriteLine("Copyright 2024 Kaczy" ); Console.WriteLine("Credits to Andreas Schneider, StaticZ"); try { diff --git a/Server/AssemblyInfo.cs b/Server/AssemblyInfo.cs index 740ccfc..9ac0a62 100644 --- a/Server/AssemblyInfo.cs +++ b/Server/AssemblyInfo.cs @@ -1,45 +1,15 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyVersion(CentrED.Server.Constants.Assembly.Version)] -[assembly: AssemblyFileVersion(CentrED.Server.Constants.Assembly.Version)] +[assembly: AssemblyVersion("0.0.1.0")] +[assembly: AssemblyFileVersion("0.0.1.0")] -[assembly: AssemblyTitle(CentrED.Server.Constants.Assembly.Title)] -[assembly: AssemblyDescription(CentrED.Server.Constants.Assembly.Description)] +[assembly: AssemblyTitle("Cedserver")] +[assembly: AssemblyDescription("CentrED Server")] -[assembly: AssemblyCompany(CentrED.Server.Constants.Assembly.Company)] -[assembly: AssemblyProduct(CentrED.Server.Constants.Assembly.Product)] - -[assembly: AssemblyCopyright(CentrED.Server.Constants.Assembly.Copyright)] -[assembly: AssemblyTrademark(CentrED.Server.Constants.Assembly.Trademark)] - -[assembly: AssemblyCulture(CentrED.Server.Constants.Assembly.Culture)] -[assembly: AssemblyConfiguration(CentrED.Server.Constants.Assembly.Config)] +[assembly: AssemblyCompany("Nelderim")] +[assembly: AssemblyProduct("Cedserver#")] [assembly: ComVisible(false)] [assembly: Guid("beafea65-f3d3-446c-b944-8d4445e735c4")] - -namespace CentrED.Server -{ - public static class Constants - { - public const string Website = "https://kaczy93.github.io/centredsharp/"; - - public static class Assembly - { - public const string Version = "0.1.0.0"; - - public const string Title = "Cedserver"; - public const string Description = "CentrED Server"; - - public const string Company = "Nelderim"; - public const string Product = "Cedserver#"; - - public const string Copyright = "2023 Kaczy"; - public const string Trademark = ""; - - public const string Culture = ""; - public const string Config = ""; - } - } -} \ No newline at end of file +[assembly: AssemblyInformationalVersion("0.0.1+Branch.gitversion.Sha.0ee65457e499fadc5fd917bf211b8e3ceacac803")] diff --git a/Shared/AssemblyInfo.cs b/Shared/AssemblyInfo.cs new file mode 100644 index 0000000..c66f848 --- /dev/null +++ b/Shared/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; + +[assembly: AssemblyFileVersion("0.0.2.0")] +[assembly: AssemblyVersion("0.0.2.0")] + +[assembly: AssemblyTitle("CentrEDLib")] +[assembly: AssemblyDescription("CentrED Shared Library")] + +[assembly: AssemblyCompany("Nelderim")] +[assembly: AssemblyProduct("Centred#Lib")] + +[assembly: AssemblyInformationalVersion("0.0.1+Branch.gitversion.Sha.0ee65457e499fadc5fd917bf211b8e3ceacac803")] diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj index 8f86b06..5555ad0 100644 --- a/Shared/Shared.csproj +++ b/Shared/Shared.csproj @@ -7,6 +7,7 @@ 11 centredlib CentrED + false