diff --git a/.github/workflows/Master-Build.yml b/.github/workflows/Master-Build.yml new file mode 100644 index 0000000..9b77a67 --- /dev/null +++ b/.github/workflows/Master-Build.yml @@ -0,0 +1,44 @@ +# 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 + +name: master-build + +on: + push: + branches: [ "master" ] + paths-ignore: + - "**/*.md" + - "**/*.gitignore" + - "**/*.gitattributes" +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 9.0.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore + - name: Test + run: dotnet test --no-build --verbosity normal + + run-Lint: + runs-on: ubuntu-latest + env: + github-token: '${{ secrets.GITHUB_TOKEN }}' + steps: + - name: Step-01 Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Step-02 Lint Code Base + uses: github/super-linter@v4 + env: + VALIDATE_ALL_CODEBASE: false + FILTER_REGEX_INCLUDE: .*src/.* + DEFAULT_BRANCH: master + GITHUB_TOKEN: '${{ env.github-token }}' diff --git a/.github/workflows/Master-CodeQL.yml b/.github/workflows/Master-CodeQL.yml new file mode 100644 index 0000000..208c453 --- /dev/null +++ b/.github/workflows/Master-CodeQL.yml @@ -0,0 +1,76 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "master-codeQL" + +on: + push: + branches: + - master + paths-ignore: + - "**/*.md" + - "**/*.gitignore" + - "**/*.gitattributes" + schedule: + - cron: '35 15 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'csharp' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/CI-Build.yml b/.github/workflows/PR-CI.yml similarity index 95% rename from .github/workflows/CI-Build.yml rename to .github/workflows/PR-CI.yml index 8624a1b..aa34bf7 100644 --- a/.github/workflows/CI-Build.yml +++ b/.github/workflows/PR-CI.yml @@ -1,4 +1,4 @@ -name: CI +name: pullrequest-Ci 'on': pull_request: types: [opened, reopened, edited, synchronize] @@ -13,7 +13,7 @@ jobs: github-token: '${{ secrets.GH_Packages }}' steps: - name: Step-01 Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Step-02 Lint Code Base @@ -39,7 +39,7 @@ jobs: versionSpec: 5.x - name: Step-02 Check out Code - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -67,7 +67,7 @@ jobs: working-directory: '${{ env.working-directory }}' - name: Step-08 Upload Build Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build-artifact path: ${{env.working-directory}} @@ -88,7 +88,7 @@ jobs: versionSpec: 5.x - name: Step-02 Check out Code - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -117,7 +117,7 @@ jobs: working-directory: '${{ env.working-directory }}' - name: Step-08 Upload Build Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build-artifact path: ${{env.working-directory}} @@ -135,7 +135,7 @@ jobs: working-directory: /home/runner/work/DomainEvents/DomainEvents steps: - name: Step-01 Retrieve Build Artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: build-artifact path: ${{env.working-directory}} diff --git a/GitVersion.yml b/GitVersion.yml index 2ac57c8..3e0c313 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,4 +1,4 @@ -next-version: 4.0.0 +next-version: 4.0.1 tag-prefix: '[vV]' mode: ContinuousDeployment branches: diff --git a/License.md b/License.md index a014359..c1fcb07 100644 --- a/License.md +++ b/License.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2024 Tech Ninja Labs +Copyright (c) 2025 Code Shayk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Ninja.DomainEvents.sln b/Ninja.DomainEvents.sln index 768de0f..e474478 100644 --- a/Ninja.DomainEvents.sln +++ b/Ninja.DomainEvents.sln @@ -23,7 +23,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".misc", ".misc", "{D4BE57FE EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github", "github", "{FA9A86C9-07AD-4D6F-958B-8EBE227F8765}" ProjectSection(SolutionItems) = preProject - .github\workflows\CI-Build.yml = .github\workflows\CI-Build.yml + .github\workflows\Master-Build.yml = .github\workflows\Master-Build.yml + .github\workflows\Master-CodeQL.yml = .github\workflows\Master-CodeQL.yml + PR-CodeQL.yml = PR-CodeQL.yml + .github\workflows\PR-CI.yml = .github\workflows\PR-CI.yml EndProjectSection EndProject Global diff --git a/.github/workflows/codeql.yml b/PR-CodeQL.yml similarity index 99% rename from .github/workflows/codeql.yml rename to PR-CodeQL.yml index 078a395..5b37d8e 100644 --- a/.github/workflows/codeql.yml +++ b/PR-CodeQL.yml @@ -9,7 +9,7 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: "CodeQL" +name: "pullrequest-codeQL" on: pull_request: diff --git a/README.md b/README.md index b9615e5..18b5a33 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ -# ninja DomainEvents v4.0.0 -[![NuGet version](https://badge.fury.io/nu/Dormito.DomainEvents.svg)](https://badge.fury.io/nu/Dormito.DomainEvents) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/CodeShayk/DomainEvents/blob/master/License.md) [![CI](https://github.com/CodeShayk/DomainEvents/actions/workflows/CI-Build.yml/badge.svg)](https://github.com/CodeShayk/DomainEvents/actions/workflows/CI-Build.yml) [![GitHub Release](https://img.shields.io/github/v/release/CodeShayk/DomainEvents?logo=github&sort=semver)](https://github.com/CodeShayk/DomainEvents/releases/latest) -[![CodeQL](https://github.com/CodeShayk/DomainEvents/actions/workflows/codeql.yml/badge.svg)](https://github.com/CodeShayk/DomainEvents/actions/workflows/codeql.yml) [![.Net 9.0](https://img.shields.io/badge/.Net%20-9.0-blue)](https://dotnet.microsoft.com/en-us/download/dotnet/9) +# ninja DomainEvents v4.0.1 +[![NuGet version](https://badge.fury.io/nu/Dormito.DomainEvents.svg)](https://badge.fury.io/nu/Dormito.DomainEvents) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/CodeShayk/DomainEvents/blob/master/License.md) +[![Build](https://github.com/CodeShayk/DomainEvents/actions/workflows/master-build.yml/badge.svg)](https://github.com/CodeShayk/DomainEvents/actions/workflows/master-build.yml) +[![CodeQL](https://github.com/CodeShayk/DomainEvents/actions/workflows/master-codeQL.yml/badge.svg)](https://github.com/CodeShayk/DomainEvents/actions/workflows/master-codeQL.yml) +[![GitHub Release](https://img.shields.io/github/v/release/CodeShayk/DomainEvents?logo=github&sort=semver)](https://github.com/CodeShayk/DomainEvents/releases/latest) +[![.Net 9.0](https://img.shields.io/badge/.Net-9.0-blue)](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) +[![.Net Standard 2.0](https://img.shields.io/badge/.NetStandard-2.0-green)](https://github.com/dotnet/standard/blob/v2.0.0/docs/versions/netstandard2.0.md) +[![.Net Framework 4.6.4](https://img.shields.io/badge/.Net-4.6.4-blue)](https://dotnet.microsoft.com/en-us/download/dotnet-framework/net46) ## Library to help implement transactional events in domain bounded context. Use domain events to explicitly implement side effects of changes within your domain. In other words, and using DDD terminology, use domain events to explicitly implement side effects across multiple aggregates. ### What is a Domain Event? diff --git a/src/DomainEvents/DomainEvents.csproj b/src/DomainEvents/DomainEvents.csproj index 96d6359..27562b8 100644 --- a/src/DomainEvents/DomainEvents.csproj +++ b/src/DomainEvents/DomainEvents.csproj @@ -1,7 +1,7 @@ - net9.0 + net462;netstandard2.0;netstandard2.1;net9.0 disable disable true @@ -21,17 +21,17 @@ Code Shayk DomainEvents .Net Library to implement transactional events in domain model. - Copyright (c) 2024 Code Shayk + Copyright (c) 2025 Code Shayk README.md https://github.com/CodeShayk/DomainEvents git domain-events; domain events; .net9.0; c# domain events; domain pub/sub; event pub sub - 4.0.0 + 4.0.1 ninja-icon-16.png True https://github.com/CodeShayk/DomainEvents/wiki - Release v4.0.0 -- Targets .Net 9.0 + Release v4.0.1- Targets .Net Framework 4.6.2, .Net Standards 2.0 and 2.1, .Net 9.0 + diff --git a/src/DomainEvents/IPublisher.cs b/src/DomainEvents/IPublisher.cs index 3908075..b03b1f7 100644 --- a/src/DomainEvents/IPublisher.cs +++ b/src/DomainEvents/IPublisher.cs @@ -7,6 +7,6 @@ namespace DomainEvents /// public interface IPublisher { - public Task RaiseAsync(T @event) where T : IDomainEvent; + Task RaiseAsync(T @event) where T : IDomainEvent; } } \ No newline at end of file