MPAE-8028 added CI support and readme
rodzic
7eb9ef1c4e
commit
2773a7ac86
|
@ -0,0 +1,170 @@
|
|||
// Jenkinsfilek8s v1.2.0
|
||||
|
||||
pipeline {
|
||||
agent {
|
||||
kubernetes {
|
||||
label 'avr128da48-cnano-ws2812-mplab-mcc'
|
||||
defaultContainer 'xc8-mplabx'
|
||||
yamlFile '.citd/cloudprovider.yml'
|
||||
}
|
||||
}
|
||||
|
||||
parameters {
|
||||
string( name: 'NOTIFICATION_EMAIL',
|
||||
defaultValue: 'PICAVR_Examples_GateKeepers@microchip.com',
|
||||
description: "Email to send build failure and fixed notifications.")
|
||||
}
|
||||
|
||||
environment {
|
||||
GITHUB_OWNER = 'microchip-pic-avr-examples'
|
||||
GITHUB_URL ='https://github.com/microchip-pic-avr-examples/avr128da48-cnano-ws2812-mplab-mcc.git'
|
||||
BITBUCKET_URL = 'https://bitbucket.microchip.com/scm/ebe/avr128da48-cnano-ws2812-mplab-mcc.git'
|
||||
DEPLOY_TOOL_URL = 'https://bitbucket.microchip.com/scm/citd/tool-github-deploy.git'
|
||||
DEPLOY_SCRIPT_DIR = 'tool-github-deploy'
|
||||
DEPLOY_SCRIPT_FILE = 'deploy-source-as-is.sh'
|
||||
}
|
||||
|
||||
options {
|
||||
timestamps()
|
||||
timeout(time: 30, unit: 'MINUTES')
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('metadata') {
|
||||
steps {
|
||||
script {
|
||||
execute("pip install jsonschema")
|
||||
execute("git clone https://bitbucket.microchip.com/scm/citd/metadata-schema.git")
|
||||
execute("git clone https://bitbucket.microchip.com/scm/citd/tool-metadata-validator.git")
|
||||
execute("cd tool-metadata-validator && python metadata-validator.py -data '../.main-meta/main.json' -schema '../metadata-schema/main-schema.json'")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Pre-build') {
|
||||
steps {
|
||||
script {
|
||||
MPLABX_PATH= sh (script: 'update-alternatives --list MPLABX_PATH',returnStdout: true).trim()
|
||||
COMPILER_PATH= sh (script: 'update-alternatives --list XC8_PATH',returnStdout: true).trim()
|
||||
def pDir = "${MPLABX_PATH}/packs"
|
||||
def ver = COMPILER_PATH.split('/')[4].substring(1)
|
||||
|
||||
execute("git clone https://bitbucket.microchip.com/scm/citd/tool-mplabx-c-project-generator.git")
|
||||
execute("cd tool-mplabx-c-project-generator && node configGenerator.js sp=../ v8=${ver} packs=${pDir}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
script {
|
||||
execute("git clone https://bitbucket.microchip.com/scm/citd/tool-mplabx-c-build.git")
|
||||
execute("cd tool-mplabx-c-build && node buildLauncher.js sp=../ rp=./output genMK=true")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('GitHub-Deploy') {
|
||||
when {
|
||||
not {
|
||||
changeRequest()
|
||||
}
|
||||
anyOf {
|
||||
tag ''
|
||||
}
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
execute("git clone ${env.DEPLOY_TOOL_URL}")
|
||||
|
||||
withCredentials([usernamePassword(credentialsId: '8bit-examples.github.com', usernameVariable: 'USER_NAME', passwordVariable:'USER_PASS' )]) {
|
||||
execute("cd ${env.DEPLOY_SCRIPT_DIR} && bash ${env.DEPLOY_SCRIPT_FILE} ${env.BITBUCKET_URL} ${env.GITHUB_URL} ${USER_NAME} ${USER_PASS} '--tag ${env.TAG_NAME}'")
|
||||
}
|
||||
|
||||
sendSuccessfulGithubDeploymentEmail()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Portal-Deploy') {
|
||||
when {
|
||||
not {
|
||||
changeRequest()
|
||||
}
|
||||
tag ''
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
def metadata = readJSON file:".main-meta/main.json"
|
||||
def version = metadata.content.version
|
||||
def project = metadata.content.projectName
|
||||
|
||||
if(version == env.TAG_NAME) {
|
||||
def cmdArgs = "'{\"repoOwnerName\":\"$env.GITHUB_OWNER\",\"repoName\":\"$project\",\"tagName\":\"$version\"}'"
|
||||
cmdArgs = cmdArgs.replaceAll("\"","\\\\\"")
|
||||
|
||||
execute("git clone https://bitbucket.microchip.com/scm/portal/bundles.git")
|
||||
execute("cd bundles && chmod 755 ./portal-client-cli-linux")
|
||||
execute("git clone https://bitbucket.microchip.com/scm/citd/tool-portal-client-launcher.git")
|
||||
execute("cd tool-portal-client-launcher && node portalLauncher.js -app=../bundles/portal-client-cli-linux -cmd=\"uploadGitHub ${cmdArgs}\"")
|
||||
sendSuccessfulPortalDeploymentEmail()
|
||||
} else {
|
||||
echo "Tag name is not equal to metadata content version."
|
||||
execute("exit 1")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
post {
|
||||
failure {
|
||||
script {
|
||||
sendPipelineFailureEmail()
|
||||
}
|
||||
}
|
||||
always {
|
||||
archiveArtifacts artifacts: "tool-mplabx-c-build/output/**", allowEmptyArchive: true, fingerprint: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def execute(String cmd) {
|
||||
if(isUnix()) {
|
||||
sh cmd
|
||||
} else {
|
||||
bat cmd
|
||||
}
|
||||
}
|
||||
|
||||
def sendPipelineFailureEmail () {
|
||||
if (!"${env.CHANGE_AUTHOR_EMAIL}".equalsIgnoreCase("null")) {
|
||||
mail to: "${env.CHANGE_AUTHOR_EMAIL}, ${params.NOTIFICATION_EMAIL}",
|
||||
subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
|
||||
body: "Pipeline failure. ${env.BUILD_URL}"
|
||||
} else {
|
||||
mail to: "${params.NOTIFICATION_EMAIL}",
|
||||
subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
|
||||
body: "Pipeline failure. ${env.BUILD_URL}"
|
||||
}
|
||||
}
|
||||
|
||||
def sendSuccessfulGithubDeploymentEmail () {
|
||||
mail to: "${params.NOTIFICATION_EMAIL}",
|
||||
subject: "Successful Github Deployment: ${currentBuild.fullDisplayName}",
|
||||
body: "The changes have been successfully deployed to GitHub. ${env.GITHUB_URL}"
|
||||
}
|
||||
|
||||
def sendSuccessfulPortalDeploymentEmail () {
|
||||
mail to: "${params.NOTIFICATION_EMAIL}",
|
||||
subject: "Successful Portal Deployment: ${currentBuild.fullDisplayName}",
|
||||
body: "The changes have been successfully deployed to Discover Portal."
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: xc8-mplabx
|
||||
spec:
|
||||
containers:
|
||||
- name: xc8-mplabx
|
||||
image: artifacts.microchip.com:7999/microchip/citd/bundles/xc8-mplabx:latest
|
||||
imagePullPolicy: Always
|
||||
command: ['cat']
|
||||
tty: true
|
||||
resources:
|
||||
requests:
|
||||
cpu: 1
|
||||
memory: 4Gi
|
||||
limits:
|
||||
cpu: 2
|
||||
memory: 8Gi
|
|
@ -0,0 +1,13 @@
|
|||
# Untracked files in MPLABX projects
|
||||
/**/build/*
|
||||
/**/nbproject/*
|
||||
!/**/nbproject/*.xml
|
||||
/**/[Ff]ree/production/*
|
||||
/**/[Pp]ro/production/*
|
||||
/**/.generated_files/*
|
||||
|
||||
# Uncomment these to include hex/elf files
|
||||
#!/**/[Ff]ree/production/*.hex
|
||||
#!/**/[Ff]ree/production/*.elf
|
||||
#!/**/[Pp]ro/production/*.hex
|
||||
#!/**/[Pp]ro/production/*.elf
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"metaDataVersion": "1.0.0",
|
||||
"category": "com.microchip.ide.project",
|
||||
"content": {
|
||||
"metaDataVersion": "1.1.0",
|
||||
"name": "com.microchip.mcu8.mplabx.project.avr128da48-cnano-ws2812-mplab-mcc",
|
||||
"version": "1.0.0",
|
||||
"displayName": " ",
|
||||
"projectName": "avr128da48-cnano-ws2812-mplab-mcc",
|
||||
"shortDescription": "",
|
||||
"ide": {
|
||||
"name": "MPLAB X",
|
||||
"semverRange": ""
|
||||
},
|
||||
"compiler": [
|
||||
{
|
||||
"name": "XC8",
|
||||
"semverRange": ""
|
||||
}
|
||||
],
|
||||
"dfp": {
|
||||
"name": "",
|
||||
"semverRange": ""
|
||||
},
|
||||
"configurator": {
|
||||
"name": "",
|
||||
"semverRange": ""
|
||||
},
|
||||
"device": {
|
||||
"metaDataVersion": "1.0.0",
|
||||
"category": "com.microchip.portal.contentRef",
|
||||
"content": {
|
||||
"metaDataVersion": "1.0.0",
|
||||
"category": "com.microchip.device",
|
||||
"name": "",
|
||||
"versionRange": "*"
|
||||
}
|
||||
},
|
||||
"author": "",
|
||||
"subcategories": [
|
||||
],
|
||||
"peripherals": [
|
||||
],
|
||||
"keywords": [
|
||||
],
|
||||
"additionalData": {
|
||||
"longDescription": {
|
||||
"metaDataVersion": "1.0.0",
|
||||
"category": "com.microchip.portal.fileRef",
|
||||
"content": {
|
||||
"metaDataVersion": "1.0.0",
|
||||
"fileName": "./README.md",
|
||||
"mimeType": "text/markdown"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
(c) 2020 Microchip Technology Inc. and its subsidiaries.
|
||||
|
||||
Subject to your compliance with these terms, you may use Microchip software
|
||||
and any derivatives exclusively with Microchip products. You're responsible
|
||||
for complying with 3rd party license terms applicable to your use of 3rd
|
||||
party software (including open source software) that may accompany Microchip
|
||||
software.
|
||||
|
||||
SOFTWARE IS "AS IS." NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
|
||||
APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
|
||||
MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
|
||||
INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
|
||||
WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
|
||||
HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
|
||||
THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
|
||||
CLAIMS RELATED TO THE SOFTWARE WILL NOT EXCEED AMOUNT OF FEES, IF ANY,
|
||||
YOU PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
|
||||
|
41
README.md
41
README.md
|
@ -0,0 +1,41 @@
|
|||
<!-- Please do not change this logo with link -->
|
||||
[![MCHP](images/microchip.png)](https://www.microchip.com)
|
||||
|
||||
# Update the title for avr128da48-cnano-ws2812-mplab-mcc here
|
||||
|
||||
<!-- This is where the introduction to the example goes, including mentioning the peripherals used -->
|
||||
|
||||
## Related Documentation
|
||||
|
||||
<!-- Any information about an application note or tech brief can be linked here. Use unbreakable links!
|
||||
In addition a link to the device family landing page and relevant peripheral pages as well:
|
||||
- [AN3381 - Brushless DC Fan Speed Control Using Temperature Input and Tachometer Feedback](https://microchip.com/00003381/)
|
||||
- [PIC18F-Q10 Family Product Page](https://www.microchip.com/design-centers/8-bit/pic-mcus/device-selection/pic18f-q10-product-family) -->
|
||||
|
||||
## Software Used
|
||||
|
||||
<!-- All software used in this example must be listed here. Use unbreakable links!
|
||||
- MPLAB® X IDE 5.30 or newer [(microchip.com/mplab/mplab-x-ide)](http://www.microchip.com/mplab/mplab-x-ide)
|
||||
- MPLAB® XC8 2.10 or a newer compiler [(microchip.com/mplab/compilers)](http://www.microchip.com/mplab/compilers)
|
||||
- MPLAB® Code Configurator (MCC) 3.95.0 or newer [(microchip.com/mplab/mplab-code-configurator)](https://www.microchip.com/mplab/mplab-code-configurator)
|
||||
- MPLAB® Code Configurator (MCC) Device Libraries PIC10 / PIC12 / PIC16 / PIC18 MCUs [(microchip.com/mplab/mplab-code-configurator)](https://www.microchip.com/mplab/mplab-code-configurator)
|
||||
- Microchip PIC18F-Q Series Device Support (1.4.109) or newer [(packs.download.microchip.com/)](https://packs.download.microchip.com/) -->
|
||||
|
||||
## Hardware Used
|
||||
|
||||
<!-- All hardware used in this example must be listed here. Use unbreakable links!
|
||||
- PIC18F47Q10 Curiosity Nano [(DM182029)](https://www.microchip.com/Developmenttools/ProductDetails/DM182029)
|
||||
- Curiosity Nano Base for Click boards™ [(AC164162)](https://www.microchip.com/Developmenttools/ProductDetails/AC164162)
|
||||
- POT Click board™ [(MIKROE-3402)](https://www.mikroe.com/pot-click) -->
|
||||
|
||||
## Setup
|
||||
|
||||
<!-- Explain how to connect hardware and set up software. Depending on complexity, step-by-step instructions and/or tables and/or images can be used -->
|
||||
|
||||
## Operation
|
||||
|
||||
<!-- Explain how to operate the example. Depending on complexity, step-by-step instructions and/or tables and/or images can be used -->
|
||||
|
||||
## Summary
|
||||
|
||||
<!-- Summarize what the example has shown -->
|
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 5.5 KiB |
Ładowanie…
Reference in New Issue