Skip to content

Commit

Permalink
v1.0.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
CDR-CI committed Nov 23, 2023
0 parents commit 1a426f8
Show file tree
Hide file tree
Showing 158 changed files with 9,539 additions and 0 deletions.
83 changes: 83 additions & 0 deletions .azuredevops/pipelines/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
trigger:
- develop
- main

# the build will run on a Microsoft hosted agent, using the lastest Windows VM Image
pool:
vmImage: 'windows-latest'

# these variables are available throughout the build file
# just the build configuration is defined, in this case we are building Release packages
variables:
buildConfiguration: 'Release'
${{ if or(eq(variables['Build.SourceBranchName'], 'develop'), eq(variables['Build.SourceBranchName'], 'main'), startsWith(variables['Build.SourceBranchName'], 'release')) }}:
MINVERBUILDMETADATA: ''
${{ else }}:
MINVERBUILDMETADATA: $(Build.SourceVersion)

# The build has 3 seperate tasks run under 1 step
steps:
- checkout: self
fetchDepth: 0

# The first task is the dotnet command build, pointing to our csproj file
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
command: 'build'
arguments: '--configuration $(buildConfiguration)'
projects: 'Source/**/*.csproj'

- task: DotNetCoreCLI@2
displayName: Unit Tests
inputs:
command: 'test'
projects: '$(System.DefaultWorkingDirectory)/Source/**/*UnitTests.csproj'
arguments: '--configuration $(buildConfiguration) --collect "XPlat Code coverage"'

- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@5
displayName: 'Generate Cobertura Code Coverage Report'
inputs:
${{ if eq(variables['Agent.OS'], 'Windows_NT') }}:
reports: '$(Agent.TempDirectory)\**\coverage.cobertura.xml'
${{ if ne(variables['Agent.OS'], 'Windows_NT') }}:
reports: '$(Agent.TempDirectory)/**/coverage.cobertura.xml'
targetdir: '$(Build.SourcesDirectory)\Source\TestResults\Coverage\Reports\'
historydir: '$(Build.SourcesDirectory)\Source\TestResults\Coverage\History\'
assemblyfilters: '+ConsumerDataRight.ParticipantTooling.MockSolution.TestAutomation'
verbosity: Verbose
tag: $(Build.BuildNumber)
reportTypes: HtmlInline_AzurePipelines;Cobertura

- task: PublishCodeCoverageResults@1
displayName: 'Publish Cobertura Code Coverage'
inputs:
codeCoverageTool: Cobertura
summaryFileLocation: '$(Build.SourcesDirectory)/Source/TestResults/Coverage/Reports/Cobertura.xml'
reportDirectory: '$(Build.SourcesDirectory)/Source/TestResults/Coverage/Reports'

# The second task is dotnet pack command again pointing to the csproj file
# The nobuild means the project will not be compiled before running pack, because its already built in above step
- task: DotNetCoreCLI@2
displayName: "dotnet pack"
inputs:
command: 'pack'
arguments: '--configuration $(buildConfiguration)'
packagesToPack: 'Source/ConsumerDataRight.ParticipantTooling.MockSolution.TestAutomation/ConsumerDataRight.ParticipantTooling.MockSolution.TestAutomation.csproj'
nobuild: true
versioningScheme: 'off'

- task: PublishSymbols@2
displayName: Publish symbols path
continueOnError: True
inputs:
SearchPattern: '**\bin\**\*.pdb'
PublishSymbols: false
SymbolServerType: TeamServices

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
condition: succeededOrFailed()
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
TargetPath: '\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber)'
111 changes: 111 additions & 0 deletions .azuredevops/pipelines/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
pool:
vmImage: 'windows-latest'

parameters:
- name: pushEnvironment
displayName: 'Push to which environment?'
type: string
values:
- Test
- Production
default: Test

# The build configuration is defined, in this case we are building Release packages
# Based on 'pushEnvironment' parameter, we set other variables and variable groups to use test vs prod settings
variables:
- name: buildConfiguration
value: 'Release'
- name : apiKey
${{ if eq(parameters.pushEnvironment, 'Production') }}:
value: $(nuget-mock-solution-test-automation-api-key)
${{ if ne(parameters.pushEnvironment, 'Production') }}:
value: $(int-nugettest-mock-solution-test-automation-api-key)
- name : nugetOrgSource
${{ if eq(parameters.pushEnvironment, 'Production') }}:
value: 'https://api.nuget.org/v3/index.json'
${{ if ne(parameters.pushEnvironment, 'Production') }}:
value: 'https://apiint.nugettest.org/v3/index.json'
- ${{ if eq(parameters.pushEnvironment, 'Production') }}:
- group: nuget_package_deployment
- ${{ if ne(parameters.pushEnvironment, 'Production') }}:
- group: int_nugettest_package_deployment

# The github-ref-prefix should be either 'tags/' (for a tagged release) or 'heads/' (for a branch). Release number is either the tag name or branch name
# The standard release process would use a tagged release where the tag name is the version number (e.g 1.0.0) so prefix is default 'tags/' and release-number would be '1.0.0'
resources:
repositories:
- repository: GitHubRepo
type: github
name: ConsumerDataRight/mock-solution-test-automation
endpoint: github.com_CDR-LukeH
ref: refs/$(github-ref-prefix)$(release-number)

# The build has 3 seperate tasks run under 1 step
steps:
- checkout: GitHubRepo
fetchDepth: 0

# Build the project by running the dotnet command build, pointing to our csproj file
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
command: 'build'
versioningScheme: byBuildNumber
arguments: '--configuration $(buildConfiguration) /p:UsingGitHubSource=true'
projects: '$(System.DefaultWorkingDirectory)\Source\**\*.csproj'

# Create the package by running the dotnet pack command again pointing to the csproj file
# The nobuild means the project will not be compiled before running pack, because its already built in above step
- task: DotNetCoreCLI@2
displayName: "dotnet pack"
inputs:
command: 'pack'
configuration: $(BuildConfiguration)
packagesToPack: '$(System.DefaultWorkingDirectory)\Source\**\*.csproj'
nobuild: true
versioningScheme: 'off'

- task: PublishSymbols@2
displayName: Publish symbols path
continueOnError: True
inputs:
SearchPattern: '**\bin\**\*.pdb'
PublishSymbols: false
SymbolServerType: TeamServices

- task: DotNetCoreCLI@2
displayName: Install NuGetKeyVaultSignTool
inputs:
command: 'custom'
custom: 'tool'
arguments: 'install --tool-path . NuGetKeyVaultSignTool'

# WARNING: This will not throw an error if it can't find the file and will close silently (false positive)
- task: PowerShell@2
displayName: Signing with NuGetKeyVaultSignTool
inputs:
targetType: 'inline'
script: |
.\NuGetKeyVaultSignTool sign $(Build.ArtifactStagingDirectory)\*.nupkg `
--file-digest "sha256" `
--timestamp-rfc3161 "http://timestamp.digicert.com" `
--timestamp-digest "sha256" `
--azure-key-vault-url $(code-signing-kv-url) `
--azure-key-vault-tenant-id $(code-signing-kv-tenant-id) `
--azure-key-vault-client-id $(sp-code-signing-prod-client-id) `
--azure-key-vault-client-secret $(sp-code-signing-prod-client-secret) `
--azure-key-vault-certificate $(code-signing-cert-name)
# NOTE: Avoiding verifying with NuGetKeyVaultSignTool as it is rather faulty. Will give false positive for a file that doesn't exist.
# Use dotnet nuget verify instead
- task: PowerShell@2
displayName: Verifying NuGetKeyVaultSign
inputs:
targetType: 'inline'
script: 'dotnet nuget verify $(Build.ArtifactStagingDirectory)\*.nupkg'

- task: PowerShell@2
displayName: Publishing signed package
inputs:
targetType: 'inline'
script: 'dotnet nuget push $(Build.ArtifactStagingDirectory)\*.nupkg --api-key $(apiKey) -n --source $(nugetOrgSource)'
27 changes: 27 additions & 0 deletions .azuredevops/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
**Checklist:** (Put an `x` in all the boxes that apply)
- [ ] My code follows the code style of this project.
- [ ] I have set this Pull Request to Auto Complete with the delete source branch option selected.
- [ ] Commented out code has been removed or will be removed.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
- [ ] I have updated the `CHANGELOG.md` file as appropriate.


**What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...)



**What is the current behavior?** (You can also link to an open issue here)



**What is the new behavior?** (if this is a feature change)



**Does this PR introduce a breaking change?** (What changes might users need to make in their application due to this PR?)



**Other information**:
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug report
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1.
2.
3.
4. See error

**Expected behaviour**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: CDR Website
url: http://cdr.gov.au/
about: For information relating to the Consumer Data Right
- name: CDR Register Design Reference
url: https://cdr-register.github.io/register/#introduction
about: The place for information relating to the CDR Register Design
- name: Consumer Data Standards
url: https://consumerdatastandardsaustralia.github.io/standards/#introduction
about: The place for information relating to the Consumer Data Standards
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
27 changes: 27 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
**Checklist:** (Put an `x` in all the boxes that apply)
- [ ] I have read the **CONTRIBUTING** document.
- [ ] My code follows the code style of this project.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
- [ ] I have checked that there aren't any other open **Pull Requests** from the same change.
- [ ] The `develop` branch has been set as the `base` branch to merge changes of the pull request.
- [ ] I have updated the `CHANGELOG.md` file as appropriate.

**What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...)



**What is the current behavior?** (You can also link to an open issue here)



**What is the new behavior?** (if this is a feature change)



**Does this PR introduce a breaking change?** (What changes might users need to make in their application due to this PR?)



**Other information**:
19 changes: 19 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 10
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 5
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- investigating
- bug report
- backlog
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had recent activity.
It will be closed if no further activity occurs. Thank you for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
Loading

0 comments on commit 1a426f8

Please sign in to comment.