Skip to content

Commit

Permalink
feat: release 1.0.0 of @mdf.js library (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
cjimenezsaiz authored May 24, 2023
1 parent ce61edc commit b0bc3f9
Show file tree
Hide file tree
Showing 1,046 changed files with 76,618 additions and 201 deletions.
1 change: 1 addition & 0 deletions .bin/GitVersion-linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
mono /home/ubuntu/GitVersion/GitVersion.exe /output buildserver /nofetch
57 changes: 57 additions & 0 deletions .config/GitVersion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
assembly-versioning-scheme: None
branches:
master:
regex: ^master
tag: ''
mode: ContinuousDeployment
increment: None
prevent-increment-of-merged-branch-version: true
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
release:
regex: ^releases?[/-]
tag: beta
mode: ContinuousDeployment
increment: Minor
prevent-increment-of-merged-branch-version: true
track-merge-target: false
tracks-release-branches: false
is-release-branch: true
feature:
regex: ^features?[/-]
tag: useBranchName
mode: ContinuousDeployment
increment: Inherit
prevent-increment-of-merged-branch-version: true
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
pull-request:
regex: ^(pull|pull\-requests|pr)[/-]
tag: PullRequest
mode: ContinuousDeployment
increment: Inherit
prevent-increment-of-merged-branch-version: false
tag-number-pattern: '[/-](?<number>\d+)[-/]'
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
hotfix:
regex: ^hotfix(es)?[/-]
tag: beta
mode: ContinuousDeployment
increment: Patch
prevent-increment-of-merged-branch-version: false
track-merge-target: false
tracks-release-branches: false
is-release-branch: false
develop:
regex: ^dev(elop)?(ment)?$
tag: alpha
mode: ContinuousDeployment
increment: none
prevent-increment-of-merged-branch-version: true
track-merge-target: true
tracks-release-branches: true
is-release-branch: false
52 changes: 52 additions & 0 deletions .config/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
## Template for a monorepository based on GitFlow, Docker and DockerCompose in Netin Development Ecosystem
name: mdf-js$(Date:yyyyMMdd)$(Rev:.r)
## CI trigger based on GitFlow
trigger:
- master
- develop
- release/*
- hotfix/*
- feature/*
pr:
- master
- develop
## Netin - Variables
variables:
## Artifact name
- name: artifactName
value: 'mdf-js-api'
## Node version
- name: nodeVersion
value: '18'
## Releases Wiki page
- name: artifactWikiFileName
value: '@mdf.js%2Djs-%2D-API'
## GitFlow variables for branch maching
- template: mdf-pipelines-variables.yml
stages:
- stage: 'APP'
displayName: 'Application Build'
pool:
name: NUCHUB
jobs:
- job: 'CODE_QUALITY'
displayName: 'Code Quality Assurance'
workspace:
clean: all
timeoutInMinutes: 30
steps:
- checkout: self
clean: true
persistCredentials: true
fetchDepth: 0
- template: mdf-setup-gitversion.yml
- template: mdf-setup-node-and-yarn.yml
parameters:
nodeVersion: ${{variables.nodeVersion}}
- template: mdf-test-monorepo.yml
- template: mdf-test-sonarqube-analysis.yml
- template: mdf-publish-artifacts-lerna.yml
# - template: mdf-release-library-version.yml
# parameters:
# artifactName: ${{variables.artifactName}}
# artifactWikiFileName: ${{variables.artifactWikiFileName}}
13 changes: 13 additions & 0 deletions .config/customFormat.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "",
"version": "",
"description": "",
"repository": "",
"email": "",
"url": "",
"licenses": "",
"copyright": "",
"licenseFile": "none",
"licenseText": "none",
"licenseModified": "no"
}
44 changes: 44 additions & 0 deletions .config/mdf-pipelines-variables.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
variables:
- group: NPM-Secrets
#- group: Netin-Signing
#- group: Netin-Release
- name: isMaster
value: ${{ eq(variables['Build.SourceBranch'], 'refs/heads/master') }}
- name: isDevelop
value: ${{ eq(variables['Build.SourceBranch'], 'refs/heads/develop') }}
- name: isRelease
value: ${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/release/') }}
- name: isHotfix
value: ${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/hotfix/') }}
- name: isFeature
value: ${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/feature/') }}
- name: isPR
value: ${{ eq(variables['Build.Reason'], 'PullRequest') }}
- name: isManual
value: ${{ eq(variables['Build.Reason'], 'Manual') }}
- name: isBuildable
value: ${{ or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/hotfix/'), eq(variables['Build.Reason'], 'PullRequest')) }}
- name: imageTag
${{ if eq(variables.isFeature, true) }}:
value: 'nighty'
${{ if or(eq(variables.isRelease, true), eq(variables.isHotfix, true)) }}:
value: 'beta'
${{ if eq(variables.isDevelop, true) }}:
value: 'alpha'
${{ if eq(variables.isMaster, true) }}:
value: 'latest'
${{ if eq(variables.isPR, true) }}:
value: 'test'
- name: dockerTag
${{ if eq(variables.isFeature, true) }}:
value: $(Build.SourceBranchName)
${{ if eq(variables.isPR, true) }}:
value: $(Build.SourceBranchName)
${{ if or(eq(variables.isRelease, true), eq(variables.isHotfix, true)) }}:
value: 'beta'
${{ if eq(variables.isDevelop, true) }}:
value: 'alpha'
${{ if eq(variables.isMaster, true) }}:
value: 'latest'
- name: disable.coverage.autogenerate
value: 'true'
33 changes: 33 additions & 0 deletions .config/mdf-publish-artifacts-lerna.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
steps:
- task: Yarn@3
displayName: 'Install node_modules with devDependencies'
inputs:
projectDirectory: '.'
arguments: 'install'

- task: Yarn@3
displayName: Publish package to internal feed as oficial version
condition: and(succeeded(), eq(variables.isMaster, true))
inputs:
projectDirectory: '.'
arguments: 'lerna publish $(Build.BuildNumber) --amend --dist-tag latest --conventional-commits --loglevel silly -m "chore(release): publish %v" --yes'
customEndpoint: 'NPM-Registry'
continueOnError: true

- task: Yarn@3
displayName: Publish package to internal feed as beta version
condition: and(succeeded(), or(eq(variables.isRelease, true), eq(variables.isHotfix, true)))
inputs:
projectDirectory: '.'
arguments: 'lerna publish $(Build.BuildNumber) --amend --pre-dist-tag beta --loglevel silly -m "chore(release): publish %v" --yes'
customEndpoint: 'NPM-Registry'
continueOnError: true

- task: Yarn@3
displayName: Publish package to internal feed as alfa version
condition: and(succeeded(), eq(variables.isDevelop, true))
inputs:
projectDirectory: '.'
arguments: 'lerna publish $(Build.BuildNumber) --amend --dist-tag alpha --loglevel silly -m "chore(release): publish %v" --yes'
customEndpoint: 'NPM-Registry'
continueOnError: true
36 changes: 36 additions & 0 deletions .config/mdf-release-library-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# ## Netin - Parameters for release process of a new artifact version
# parameters:
# - name: artifactName
# displayName: NDF artifact mame
# type: string
# default: NameNotSet
# - name: artifactWikiFileName
# displayName: Name of the WIKI file
# default: $(artifactName)
# stages:
# - stage: 'RELEASE'
# condition: eq(variables.isMaster, true)
# displayName: 'Release process for ${{parameters.artifactName}} artifact for version $(Build.BuildNumber)'
# pool:
# name: NUCHUB
# jobs:
# - deployment: 'PROCESS'
# displayName: 'Perform the release publication'
# workspace:
# clean: 'all'
# timeoutInMinutes: 15
# environment:
# name: 'NETIN-PUBLIC-RELEASES'
# strategy:
# runOnce:
# deploy:
# steps:
# - checkout: self
# clean: true
# persistCredentials: true
# - template: mdf-setup-gitversion.yml
# - template: mdf-setup-node-and-yarn.yml
# - template: mdf-release-publish-release-notes.yml
# parameters:
# artifactName: ${{parameters.artifactName}}
# artifactWikiFileName: ${{parameters.artifactWikiFileName}}
110 changes: 110 additions & 0 deletions .config/mdf-release-publish-release-notes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# # Netin - Parameters for Release notes generation and publish
# parameters:
# - name: artifactName
# displayName: NDF artifact mame
# type: string
# default: NameNotSet
# - name: artifactWikiFileName
# displayName: Name of the WIKI file
# default: $(artifactName)
# steps:
# - task: XplatGenerateReleaseNotes@3
# displayName: Generate Release Notes
# inputs:
# outputfile: 'RELEASE.md'
# templateLocation: 'InLine'
# inlinetemplate: |
# --------------------------------------------

# ## 🚀 **{{buildDetails.buildNumber}}** - {{date buildDetails.finishTime "DD-MM-YYYY"}}
# {{#if (hasWorkItemType this.workItems 'Feature')}}

# ### 🆕 Features

# {{#forEach this.workItems}}
# {{#if (eq (lookup this.fields 'System.WorkItemType' ) 'Feature')}}
# - #{{this.id}}
# {{#if (lookup this.fields 'System.ReleaseNotes')}}
# - {{ sanitize (lookup this.fields 'System.ReleaseNotes')}}
# {{/if}}
# {{/if}}
# {{/forEach}}


# {{/if}}
# {{#if (hasWorkItemType this.workItems 'Requirement')}}
# ### 🔧 Notable changes

# {{#forEach this.workItems}}
# {{#if (eq (lookup this.fields 'System.ReleaseNotes' ) 'Requirement')}}
# - #{{this.id}}
# {{#if (lookup this.fields 'System.Description')}}
# - {{ sanitize (lookup this.fields 'System.ReleaseNotes')}}
# {{/if}}
# {{/if}}
# {{/forEach}}


# {{/if}}
# {{#if (hasWorkItemType this.workItems 'Bug')}}
# ### 🐞 Bugfixes

# {{#forEach this.workItems}}
# {{#if (eq (lookup this.fields 'System.WorkItemType' ) 'Bug')}}
# - #{{this.id}}
# {{#if (lookup this.fields 'System.ReleaseNotes')}}
# - {{sanitize (lookup this.fields 'System.ReleaseNotes')}}
# {{/if}}
# {{/if}}
# {{/forEach}}


# {{/if}}
# {{#if (hasWorkItemType this.workItems 'Upgrade')}}
# ### ⬆️ Upgrades

# {{#forEach this.workItems}}
# {{#if (eq (lookup this.fields 'System.WorkItemType' ) 'Upgrade')}}
# - #{{this.id}}
# {{#if (lookup this.fields 'System.ReleaseNotes')}}
# - {{sanitize (lookup this.fields 'System.ReleaseNotes')}}
# {{/if}}
# {{/if}}
# {{/forEach}}


# {{/if}}
# checkStage: true
# stopOnRedeploy: true
# sortWi: true
# dumpPayloadToConsole: true
# dumpPayloadToFile: false
# replaceFile: true
# getParentsAndChildren: true
# getAllParents: true
# getIndirectPullRequests: False
# stopOnError: False
# considerPartiallySuccessfulReleases: False
# customHandlebarsExtensionCode: |
# module.exports = {
# hasWorkItemType: function (array, typeName) {
# return array.some(workItem => workItem.fields['System.WorkItemType'] === typeName);
# }
# }
# - task: WikiUpdaterTask@1
# displayName: Push release notes to WIKI
# inputs:
# repo: 'https://devopmytra.visualstudio.com/NetinSystems/_git/NS-Artifacts_Release_Notes-WIKI'
# filename: '${{parameters.artifactWikiFileName}}.md'
# replaceFile: false
# dataIsFile: true
# sourceFile: 'RELEASE.md'
# message: 'doc(wiki): update release notes for ${{parameters.artifactName}}'
# gitname: '$BUILD_REQUESTEDFOR'
# gitemail: '$BUILD_REQUESTEDFOREMAIL'
# user: $(WIKI_REPO_USER)
# password: $(WIKI_REPO_PAT)
# useAgentToken: false
# trimLeadingSpecialChar: true
# fixSpaces: true
# insertLinefeed: false
22 changes: 22 additions & 0 deletions .config/mdf-setup-gitversion.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
steps:
- task: Bash@3
displayName: 'Set git config email & name'
inputs:
targetType: 'inline'
script: |
git config --global user.email $BUILD_REQUESTEDFOREMAIL
git config --global user.name "$BUILD_REQUESTEDFOR"
echo $BUILD_REQUESTEDFOREMAIL
echo "$BUILD_REQUESTEDFOR"
- task: gitversion/setup@0
displayName: 'Use GitVersion Setup'
inputs:
versionSpec: '5.x'

- task: gitversion/execute@0
displayName: 'Use GitVersion Execute'
inputs:
useConfigFile: true
configFilePath: './.config/GitVersion.yml'
name: 'Version'
Loading

0 comments on commit b0bc3f9

Please sign in to comment.