Skip to content

Commit f85717d

Browse files
SHYAMP8Jn-33
authored andcommitted
Pull request #3: Develop
Merge in MCU16CE/matlab-dspic33a-curiosity-simple-filter-example from develop to main * commit 'e068ce1ec45a1c50790d3f3cdeb5079789b0e885': Minor correction Readme main.json file is updated. Updated gitignore file. Added PDF version of Readme to the docs folder. Copied the project folder,images and Readme files from- Commit: 7442ff61ab3a7ddd33830cefc63a9ab15da71b11 [7442ff6] Parents: c551fd5631 Date: Tuesday, October 7, 2025 2:56:26 PM Updated the following files the release- 1.changelog.md 2.Jenkinfile 3.main.json Initial commit
2 parents 9c4f1e5 + e068ce1 commit f85717d

29 files changed

+558
-9
lines changed

.citd/Jenkinsfilek8s

Lines changed: 274 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
/*
2+
Jenkins Shared Library:
3+
----------------------
4+
shared-library-mcu16ce - https://bitbucket.microchip.com/scm/citd/shared-library-mcu16ce.git
5+
shared-library-common - https://bitbucket.microchip.com/scm/citd/shared-library-common.git
6+
*/
7+
@Library(['shared-library-mcu16ce@master', 'shared-library-common@master']) _
8+
9+
pipeline {
10+
agent {
11+
kubernetes {
12+
inheritFrom 'matlab-dspic33a-curiosity-simple-filter-example-github-deployment'
13+
defaultContainer 'xc16-mplabx-sonar-fmpp-python'
14+
yamlFile '.citd/cloudprovider.yml'
15+
}
16+
}
17+
18+
environment {
19+
/*
20+
Common Information
21+
*/
22+
NOTIFICATION_EMAIL = '1f1319de.microchip.com@amer.teams.ms'
23+
// GitHub production organization name
24+
GITHUB_PRODUCTION_ORGANIZATION = "microchip-pic-avr-examples"
25+
26+
/*
27+
GitHub Deploy Stage Information
28+
*/
29+
//This is the BitBucket source repo URL to be deployed
30+
BITBUCKET_SOURCE_URL = 'https://bitbucket.microchip.com/scm/mcu16ce/matlab-dspic33a-curiosity-simple-filter-example.git'
31+
//Files or folders to be excluded from deployment, if multiple files or folders use comma separator
32+
DEPLOY_EXCLUDE_FOLDER_FILE_LIST = 'mchp_private,.mchp_private,sandbox,.sandbox'
33+
//Branch(s) to be deployed, if multiple branches use comma separator. DEPLOY_BRANCH_LIST is the target branch of the PR.
34+
DEPLOY_BRANCH_LIST = "main"
35+
/*When using the main.json schema version 1.3.0 or higher, the PORTAL will first reject registration attempt when an unapproved keyword is found, but can be forced to accept.
36+
This argument is used to provide the list of unapproved keywords (also listed in main.json) which the deployment script will force the PORTAL to accept.*/
37+
UNAPPROVED_KEYWORDS_OVERRIDE_LIST="NONE"
38+
39+
/*
40+
GitHub Page Stage Information
41+
List of GitHub Page Options:
42+
----------------------------
43+
1. GITHUB_PAGES_NONE ( Branch: None, index file path: None )
44+
2. GITHUB_PAGES_MASTER_ROOT ( Branch: Master, index file path: /root )
45+
3. GITHUB_PAGES_MASTER_DOCS ( Branch: Master, index file path: /Docs )
46+
4. GITHUB_PAGES_DEVELOP_ROOT ( Branch: Develop, index file path: /root )
47+
5. GITHUB_PAGES_DEVELOP_DOCS ( Branch: Develop, index file path: /Docs )
48+
*/
49+
GITHUB_PAGES = 'GITHUB_PAGES_NONE'
50+
51+
/*
52+
Project Build Stage Information
53+
*/
54+
MPLABX_PROJECT_SOURCE = "../"
55+
}
56+
57+
options {
58+
timestamps()
59+
timeout(time: 30, unit: 'MINUTES')
60+
}
61+
62+
stages {
63+
stage('Checkout') {
64+
steps {
65+
checkout scm
66+
}
67+
}
68+
69+
stage('project config update') {
70+
steps {
71+
script {
72+
mplabxProjectConfigUpdate(
73+
sourceFilePath: "${env.MPLABX_PROJECT_SOURCE}",
74+
dfpUpdate: false,
75+
dfpInternal: false
76+
)
77+
}
78+
}
79+
}
80+
81+
stage('Build') {
82+
steps {
83+
script {
84+
sh("npm install -g xml2js")
85+
sh("npm link xml2js")
86+
mplabxProjectBuild(
87+
sourceFilePath: "${env.MPLABX_PROJECT_SOURCE}"
88+
)
89+
}
90+
}
91+
}
92+
93+
94+
//MisraCheck code analysis
95+
stage('MISRA Check') {
96+
steps {
97+
script {
98+
misraCheck(
99+
sourceProjectPath: "${env.MPLABX_PROJECT_SOURCE}"
100+
)
101+
}
102+
}
103+
}
104+
105+
// Validate main.json file
106+
stage('Validate main.json') {
107+
steps {
108+
script {
109+
validateMetaData(
110+
unapprovedKeywordsOverrideList: "${UNAPPROVED_KEYWORDS_OVERRIDE_LIST}"
111+
)
112+
}
113+
}
114+
}
115+
// Creating tag in Bitbucket repo
116+
stage('Bitbucket Tag Creation') {
117+
when {
118+
anyOf {
119+
allOf {
120+
not { changeRequest() }
121+
anyOf {branch 'master'; branch 'main';}
122+
}
123+
}
124+
}
125+
steps {
126+
script {
127+
bitbucketTagCreation()
128+
}
129+
}
130+
}
131+
132+
stage('Doxygen files generation') {
133+
when {
134+
anyOf {
135+
allOf {
136+
not { changeRequest() }
137+
}
138+
}
139+
}
140+
steps {
141+
container('buildtools') {
142+
script {
143+
doxygen()
144+
}
145+
}
146+
}
147+
}
148+
149+
// GitHub repo creation
150+
stage('GitHub Repo Creation') {
151+
when {
152+
anyOf {
153+
allOf {
154+
not { changeRequest() }
155+
anyOf {branch 'master'; branch 'main'; branch 'test_deploy';}
156+
}
157+
}
158+
}
159+
160+
steps {
161+
script {
162+
githubRepoCreate(
163+
githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}",
164+
deployBranchList: "${DEPLOY_BRANCH_LIST}"
165+
)
166+
}
167+
}
168+
}
169+
170+
// Deploying the code to GitHub
171+
stage('GitHub Deploy Source') {
172+
when {
173+
anyOf {
174+
allOf {
175+
not { changeRequest() }
176+
anyOf {branch 'master'; branch 'main'; branch 'test_deploy';}
177+
}
178+
}
179+
}
180+
181+
steps {
182+
script {
183+
githubDeploySource(
184+
bitbucketUrl: "${env.BITBUCKET_SOURCE_URL}",
185+
deployBranchList: "${env.DEPLOY_BRANCH_LIST}",
186+
deployExcludeFileList: "${env.DEPLOY_EXCLUDE_FOLDER_FILE_LIST}",
187+
githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}"
188+
)
189+
}
190+
}
191+
}
192+
193+
// Creating GitHub release
194+
stage('GitHub release') {
195+
when {
196+
anyOf {
197+
allOf {
198+
not { changeRequest() }
199+
anyOf {branch 'master'; branch 'main'; branch 'test_deploy';}
200+
}
201+
}
202+
}
203+
204+
steps {
205+
script {
206+
githubReleaseCreate(
207+
githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}",
208+
deployBranchList: "${DEPLOY_BRANCH_LIST}"
209+
)
210+
}
211+
}
212+
}
213+
214+
// Creating GitHub Page
215+
stage('GitHub Page Create') {
216+
when {
217+
anyOf {
218+
allOf {
219+
not { changeRequest() }
220+
anyOf {branch 'master'; branch 'main';}
221+
}
222+
}
223+
}
224+
225+
steps {
226+
script {
227+
githubPageCreate(
228+
githubPage: "${env.GITHUB_PAGES}",
229+
githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}"
230+
)
231+
}
232+
}
233+
}
234+
235+
//Deploying the Github content to portal
236+
stage('Portal-Deploy') {
237+
when {
238+
allOf {
239+
not { changeRequest() }
240+
anyOf {branch 'master'; branch 'main';}
241+
}
242+
}
243+
steps {
244+
script {
245+
portalDeploy(
246+
githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}",
247+
unapprovedKeywordsOverrideList: "${UNAPPROVED_KEYWORDS_OVERRIDE_LIST}"
248+
)
249+
}
250+
}
251+
}
252+
}
253+
254+
post {
255+
success{
256+
script {
257+
sendMail(
258+
mailId: "${env.NOTIFICATION_EMAIL}",
259+
subject: "Successful Pipeline: ${currentBuild.fullDisplayName}",
260+
body: "Build Successful ${env.BUILD_URL}"
261+
)
262+
}
263+
}
264+
failure {
265+
script {
266+
sendMail(
267+
mailId: "${env.NOTIFICATION_EMAIL}",
268+
subject: "Failure Pipeline: ${currentBuild.fullDisplayName}",
269+
body: "Something is wrong with ${env.BUILD_URL}"
270+
)
271+
}
272+
}
273+
}
274+
}

.citd/cloudprovider.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: xc16-mplabx-sonar-fmpp-python
5+
spec:
6+
containers:
7+
- name: xc16-mplabx-sonar-fmpp-python
8+
image: artifacts.microchip.com:7999/microchip/citd/bundles/xc16-mplabx-sonar-fmpp-python-yarn-node:latest
9+
imagePullPolicy: Always
10+
command: ['cat']
11+
tty: true
12+
resources:
13+
requests:
14+
cpu: 500m
15+
memory: 1500Mi
16+
limits:
17+
cpu: 1
18+
memory: 2Gi
19+
- name: buildtools
20+
image: artifacts.microchip.com:7999/microchip/buildtools/doxygen:1.8.15-r0
21+
imagePullPolicy: Always
22+
command: ['cat']
23+
tty: true
24+
resources:
25+
requests:
26+
cpu: 500m
27+
memory: 250Mi
28+
limits:
29+
cpu: 1
30+
memory: 500Mi

.gitignore

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# .gitignore file
2+
#
3+
# Set up for Microchip/MPLAB X® development
4+
#
5+
# Default gitignore files for code examples, only removing/ignoring usual MPLAB X® clutter
6+
7+
# Excluding object files
8+
*.o
9+
*.ko
10+
*.obj
11+
*.elf
12+
13+
# Excluding documentation output directories
14+
#docs/
15+
16+
# Excluding any executables
17+
*.exe
18+
19+
#Excluding Files/Folders Auto-Generated by Test Harness
20+
.generated_files/
21+
22+
#Excluding Files/Folders Auto-Generated by Simulink
23+
*.X
24+
*.slx.autosave
25+
*.slx.original
26+
*.slxc
27+
*.mat
28+
*.tlc
29+
*.tlh
30+
*.xml
31+
*.tmw
32+
*.dmr
33+
*.l
34+
35+
# Excluding Netbeans specific build directories and file types
36+
~*.*
37+
.generated_files/
38+
nbproject/build/
39+
nbproject/dist/
40+
nbproject/private/
41+
nbproject/disassembly/
42+
build/
43+
dist/
44+
private/
45+
disassembly/
46+
*.zip
47+
!code-templates.zip
48+
*.mk
49+
*.bash
50+
*.dump
51+
Makefile-genesis.properties
52+
53+
# Excluding MPLAB X® Trace files
54+
*.log
55+
*.inx
56+
57+
# KDE specific
58+
.directory
59+
60+
# Misc
61+
.svn
62+
*.bak
63+
*.doc
64+
*.docx
65+
66+
67+

0 commit comments

Comments
 (0)