Compare commits

...

8 Commits

Author SHA1 Message Date
Siwat Sirichai 1206427e82 Merge branch 'main' into lcd_upload 2023-12-07 16:43:52 +07:00
Siwat Sirichai 24871d2316 Update platformio.ini 2023-12-07 16:09:42 +07:00
Siwat Sirichai bc85bcf601 Update Jenkinsfile 2023-12-07 16:02:28 +07:00
Siwat Sirichai 1988bc953e Update gen_release.py 2023-12-07 15:52:14 +07:00
Siwat Sirichai 5f5176969f Update Jenkinsfile 2023-12-07 15:47:42 +07:00
Siwat Sirichai 816d31ad5f Update Jenkinsfile 2023-12-07 15:46:36 +07:00
Siwat Sirichai 2b728b55c5 Update Jenkinsfile 2023-12-07 15:45:02 +07:00
Siwat Sirichai 8ca7c5407d ci integration 2023-12-07 15:43:11 +07:00
3 changed files with 37 additions and 5 deletions

20
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,20 @@
pipeline {
agent any
stages {
stage('Build') {
steps {
git branch: 'main', url: 'https://git.siwatsystem.com/ise-senior-iot/iot-firmware.git'
sh 'export PLATFORMIO_PATH=/root/.platformio/penv/bin/platformio'
sh '/usr/bin/python3 gen_release.py'
stash includes: 'release/**/*', name: 'release_binaries'
}
}
stage('Publish') {
steps {
unstash 'release_binaries'
archiveArtifacts artifacts: 'release/**/*', fingerprint: true
}
}
}
}

View File

@ -19,11 +19,23 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
# Define the path to the firmware folder # Define the path to the firmware folder
firmware_folder = os.path.join(current_dir, 'firmware') firmware_folder = os.path.join(current_dir, 'firmware')
# Create the firmware folder if it does not exist
if not os.path.exists(firmware_folder):
os.makedirs(firmware_folder)
# Define the path to the release folder # Define the path to the release folder
release_folder = os.path.join(current_dir, 'release') release_folder = os.path.join(current_dir, 'release')
# Add the path to the PlatformIO executable to the system PATH # Get the platformio path from environment variable
platformio_path = os.path.expanduser('~/.platformio/penv/Scripts') platformio_path = os.environ.get('PLATFORMIO_PATH')
# If the environment variable is not set, use the default path
if platformio_path is None:
if platform.system() == 'Darwin':
platformio_path = os.path.expanduser('~/.platformio/penv/bin/platformio')
elif platform.system() == 'Windows':
platformio_path = os.path.expanduser('~/.platformio/penv/Scripts/platformio.exe')
elif platform.system() == 'Linux':
platformio_path = os.path.expanduser('~/.platformio/penv/bin/platformio')
if os.path.exists(release_folder): if os.path.exists(release_folder):
# If the release folder exists, delete it # If the release folder exists, delete it
@ -79,11 +91,11 @@ for environment in environments:
# if argument is not supplied, build all environments listed in platformio.ini # if argument is not supplied, build all environments listed in platformio.ini
if len(sys.argv) == 1: if len(sys.argv) == 1:
subprocess.run([f'{platformio_path}/platformio.exe', 'run','-c',f'{firmware_folder}/platformio.ini'], cwd=current_dir) subprocess.run([f'{platformio_path}', 'run','-c',f'{firmware_folder}/platformio.ini'], cwd=current_dir)
for environment in environments: for environment in environments:
if(len(sys.argv) > 1): if(len(sys.argv) > 1):
subprocess.run([f'{platformio_path}/platformio.exe', 'run', '-e', environment,'-c',f'{firmware_folder}/platformio.ini'], cwd=current_dir) subprocess.run([f'{platformio_path}', 'run', '-e', environment,'-c',f'{firmware_folder}/platformio.ini'], cwd=current_dir)
# Iterate over the subfolders in the firmware folder # Iterate over the subfolders in the firmware folder
for subfolder in os.listdir(firmware_folder): for subfolder in os.listdir(firmware_folder):

View File

@ -9,7 +9,7 @@
; https://docs.platformio.org/page/projectconf.html ; https://docs.platformio.org/page/projectconf.html
[platformio] [platformio]
build_dir = .\firmware build_dir = firmware
[env:full] [env:full]
platform = espressif32 platform = espressif32