Fix merge from develop to master.
This commit is contained in:
		
						commit
						92d9c58a92
					
				
							
								
								
									
										252
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										252
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @ -12,7 +12,7 @@ on: | |||||||
|   # Run this Workflow when files are updated (Pushed) in the "master" Branch |   # Run this Workflow when files are updated (Pushed) in the "master" Branch | ||||||
|   push: |   push: | ||||||
|     branches: [ master ] |     branches: [ master ] | ||||||
|      | 
 | ||||||
|   # Also run this Workflow when a Pull Request is created or updated in the "master" Branch |   # Also run this Workflow when a Pull Request is created or updated in the "master" Branch | ||||||
|   pull_request: |   pull_request: | ||||||
|     branches: [ master ] |     branches: [ master ] | ||||||
| @ -25,147 +25,147 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
| 
 | 
 | ||||||
|     steps: |     steps: | ||||||
|          |  | ||||||
|     ######################################################################################### |  | ||||||
|     # Download and Cache Dependencies |  | ||||||
| 
 | 
 | ||||||
|     - name: Install cmake |       ######################################################################################### | ||||||
|       uses: lukka/get-cmake@v3.18.0 |       # Download and Cache Dependencies | ||||||
| 
 | 
 | ||||||
|     - name: Check cache for Embedded Arm Toolchain arm-none-eabi-gcc |       - name: Install cmake | ||||||
|       id:   cache-toolchain |         uses: lukka/get-cmake@v3.18.0 | ||||||
|       uses: actions/cache@v2 |  | ||||||
|       env: |  | ||||||
|         cache-name: cache-toolchain-9-2020-q2 |  | ||||||
|       with: |  | ||||||
|         path: ${{ runner.temp }}/arm-none-eabi |  | ||||||
|         key:  ${{ runner.os }}-build-${{ env.cache-name }} |  | ||||||
|         restore-keys: ${{ runner.os }}-build-${{ env.cache-name }} |  | ||||||
| 
 | 
 | ||||||
|     - name: Install Embedded Arm Toolchain arm-none-eabi-gcc |       - name: Check cache for Embedded Arm Toolchain arm-none-eabi-gcc | ||||||
|       if:   steps.cache-toolchain.outputs.cache-hit != 'true'  # Install toolchain if not found in cache |         id:   cache-toolchain | ||||||
|       uses: fiam/arm-none-eabi-gcc@v1.0.2 |         uses: actions/cache@v2 | ||||||
|       with: |         env: | ||||||
|         # GNU Embedded Toolchain for Arm release name, in the V-YYYY-qZ format (e.g. "9-2019-q4") |           cache-name: cache-toolchain-9-2020-q2 | ||||||
|         release: 9-2020-q2 |         with: | ||||||
|         # Directory to unpack GCC to. Defaults to a temporary directory. |           path: ${{ runner.temp }}/arm-none-eabi | ||||||
|         directory: ${{ runner.temp }}/arm-none-eabi |           key:  ${{ runner.os }}-build-${{ env.cache-name }} | ||||||
|  |           restore-keys: ${{ runner.os }}-build-${{ env.cache-name }} | ||||||
| 
 | 
 | ||||||
|     - name: Check cache for nRF5 SDK |       - name: Install Embedded Arm Toolchain arm-none-eabi-gcc | ||||||
|       id:   cache-nrf5sdk |         if:   steps.cache-toolchain.outputs.cache-hit != 'true'  # Install toolchain if not found in cache | ||||||
|       uses: actions/cache@v2 |         uses: fiam/arm-none-eabi-gcc@v1.0.2 | ||||||
|       env: |         with: | ||||||
|         cache-name: cache-nrf5sdk |           # GNU Embedded Toolchain for Arm release name, in the V-YYYY-qZ format (e.g. "9-2019-q4") | ||||||
|       with: |           release: 9-2020-q2 | ||||||
|         path: ${{ runner.temp }}/nrf5_sdk |           # Directory to unpack GCC to. Defaults to a temporary directory. | ||||||
|         key:  ${{ runner.os }}-build-${{ env.cache-name }} |           directory: ${{ runner.temp }}/arm-none-eabi | ||||||
|         restore-keys: ${{ runner.os }}-build-${{ env.cache-name }} |  | ||||||
|            |  | ||||||
|     - name: Install nRF5 SDK |  | ||||||
|       if:   steps.cache-nrf5sdk.outputs.cache-hit != 'true'  # Install SDK if not found in cache |  | ||||||
|       run:  | |  | ||||||
|         cd ${{ runner.temp }} |  | ||||||
|         curl https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_15.3.0_59ac345.zip -o nrf5_sdk.zip |  | ||||||
|         unzip nrf5_sdk.zip |  | ||||||
|         mv nRF5_SDK_15.3.0_59ac345 nrf5_sdk |  | ||||||
| 
 | 
 | ||||||
|     - name: Check cache for MCUBoot |       - name: Check cache for nRF5 SDK | ||||||
|       id:   cache-mcuboot |         id:   cache-nrf5sdk | ||||||
|       uses: actions/cache@v2 |         uses: actions/cache@v2 | ||||||
|       env: |         env: | ||||||
|         cache-name: cache-mcuboot |           cache-name: cache-nrf5sdk | ||||||
|       with: |         with: | ||||||
|         path: ${{ runner.temp }}/mcuboot |           path: ${{ runner.temp }}/nrf5_sdk | ||||||
|         key:  ${{ runner.os }}-build-${{ env.cache-name }} |           key:  ${{ runner.os }}-build-${{ env.cache-name }} | ||||||
|         restore-keys: ${{ runner.os }}-build-${{ env.cache-name }} |           restore-keys: ${{ runner.os }}-build-${{ env.cache-name }} | ||||||
| 
 | 
 | ||||||
|     - name: Install MCUBoot |       - name: Install nRF5 SDK | ||||||
|       if:   steps.cache-mcuboot.outputs.cache-hit != 'true'  # Install MCUBoot if not found in cache |         if:   steps.cache-nrf5sdk.outputs.cache-hit != 'true'  # Install SDK if not found in cache | ||||||
|       run:  | |         run:  | | ||||||
|         cd ${{ runner.temp }} |           cd ${{ runner.temp }} | ||||||
|         git clone --branch v1.5.0 https://github.com/JuulLabs-OSS/mcuboot |           curl https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v15.x.x/nRF5_SDK_15.3.0_59ac345.zip -o nrf5_sdk.zip | ||||||
|  |           unzip nrf5_sdk.zip | ||||||
|  |           mv nRF5_SDK_15.3.0_59ac345 nrf5_sdk | ||||||
| 
 | 
 | ||||||
|     - name: Install imgtool dependencies |       - name: Check cache for MCUBoot | ||||||
|       run:  pip3 install --user -r ${{ runner.temp }}/mcuboot/scripts/requirements.txt |         id:   cache-mcuboot | ||||||
|  |         uses: actions/cache@v2 | ||||||
|  |         env: | ||||||
|  |           cache-name: cache-mcuboot | ||||||
|  |         with: | ||||||
|  |           path: ${{ runner.temp }}/mcuboot | ||||||
|  |           key:  ${{ runner.os }}-build-${{ env.cache-name }} | ||||||
|  |           restore-keys: ${{ runner.os }}-build-${{ env.cache-name }} | ||||||
| 
 | 
 | ||||||
|     - name: Install adafruit-nrfutil |       - name: Install MCUBoot | ||||||
|       run:  | |         if:   steps.cache-mcuboot.outputs.cache-hit != 'true'  # Install MCUBoot if not found in cache | ||||||
|         pip3 install --user wheel |         run:  | | ||||||
|         pip3 install --user setuptools |           cd ${{ runner.temp }} | ||||||
|         pip3 install --user adafruit-nrfutil |           git clone --branch v1.5.0 https://github.com/JuulLabs-OSS/mcuboot | ||||||
|          |  | ||||||
|     ######################################################################################### |  | ||||||
|     # Checkout |  | ||||||
|        |  | ||||||
|     - name: Checkout source files |  | ||||||
|       uses: actions/checkout@v2 |  | ||||||
| 
 | 
 | ||||||
|     - name: Show files |       - name: Install imgtool dependencies | ||||||
|       run:  set ; pwd ; ls -l |         run:  pip3 install --user -r ${{ runner.temp }}/mcuboot/scripts/requirements.txt | ||||||
| 
 | 
 | ||||||
|     ######################################################################################### |       - name: Install adafruit-nrfutil | ||||||
|     # CMake |         run:  | | ||||||
|  |           pip3 install --user wheel | ||||||
|  |           pip3 install --user setuptools | ||||||
|  |           pip3 install --user adafruit-nrfutil | ||||||
| 
 | 
 | ||||||
|     - name: CMake |         ######################################################################################### | ||||||
|       run:  | |         # Checkout | ||||||
|         mkdir -p build |  | ||||||
|         cd build |  | ||||||
|         cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=${{ runner.temp }}/arm-none-eabi -DNRF5_SDK_PATH=${{ runner.temp }}/nrf5_sdk -DUSE_OPENOCD=1 ../ |  | ||||||
|        |  | ||||||
|     ######################################################################################### |  | ||||||
|     # Make and Upload DFU Package |  | ||||||
|     # pinetime-mcuboot-app.img must be flashed at address 0x8000 in the internal flash memory with OpenOCD: |  | ||||||
|     # program image.bin 0x8000 |  | ||||||
|        |  | ||||||
|     # For Debugging Builds: Remove "make" option "-j" for clearer output. Add "--trace" to see details. |  | ||||||
|     # For Faster Builds: Add "make" option "-j" |  | ||||||
|        |  | ||||||
|     - name: Make pinetime-mcuboot-app |  | ||||||
|       run:  | |  | ||||||
|         cd build |  | ||||||
|         make pinetime-mcuboot-app |  | ||||||
| 
 | 
 | ||||||
|     - name: Create firmware image |       - name: Checkout source files | ||||||
|       run:  | |         uses: actions/checkout@v2 | ||||||
|         # The generated firmware binary looks like "pinetime-mcuboot-app-0.8.2.bin" |  | ||||||
|         ls -l build/src/pinetime-mcuboot-app*.bin |  | ||||||
|         ${{ runner.temp }}/mcuboot/scripts/imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header build/src/pinetime-mcuboot-app*.bin build/src/pinetime-mcuboot-app-img.bin |  | ||||||
|         ${{ runner.temp }}/mcuboot/scripts/imgtool.py verify build/src/pinetime-mcuboot-app-img.bin |  | ||||||
| 
 | 
 | ||||||
|     - name: Create DFU package |       - name: Show files | ||||||
|       run:  | |         run:  set ; pwd ; ls -l | ||||||
|         ~/.local/bin/adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application build/src/pinetime-mcuboot-app-img.bin build/src/pinetime-mcuboot-app-dfu.zip |  | ||||||
|         unzip -v build/src/pinetime-mcuboot-app-dfu.zip |  | ||||||
|         # Unzip the package because Upload Artifact will zip up the files |  | ||||||
|         unzip build/src/pinetime-mcuboot-app-dfu.zip -d build/src/pinetime-mcuboot-app-dfu |  | ||||||
| 
 | 
 | ||||||
|     - name: Upload DFU package |       ######################################################################################### | ||||||
|       uses: actions/upload-artifact@v2 |       # CMake | ||||||
|       with: |  | ||||||
|         name: pinetime-mcuboot-app-dfu.zip |  | ||||||
|         path: build/src/pinetime-mcuboot-app-dfu/* |  | ||||||
| 
 | 
 | ||||||
|     ######################################################################################### |       - name: CMake | ||||||
|     # Make and Upload Standalone Firmware |         run:  | | ||||||
|        |           mkdir -p build | ||||||
|     - name: Make pinetime-app |           cd build | ||||||
|       run:  | |           cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=${{ runner.temp }}/arm-none-eabi -DNRF5_SDK_PATH=${{ runner.temp }}/nrf5_sdk -DUSE_OPENOCD=1 ../ | ||||||
|         cd build |  | ||||||
|         make pinetime-app |  | ||||||
| 
 | 
 | ||||||
|     - name: Upload standalone firmware |         ######################################################################################### | ||||||
|       uses: actions/upload-artifact@v2 |         # Make and Upload DFU Package | ||||||
|       with: |         # pinetime-mcuboot-app.img must be flashed at address 0x8000 in the internal flash memory with OpenOCD: | ||||||
|         name: pinetime-app.out |         # program image.bin 0x8000 | ||||||
|         path: build/src/pinetime-app*.out |  | ||||||
| 
 | 
 | ||||||
|     ######################################################################################### |         # For Debugging Builds: Remove "make" option "-j" for clearer output. Add "--trace" to see details. | ||||||
|     # Finish |         # For Faster Builds: Add "make" option "-j" | ||||||
|  | 
 | ||||||
|  |       - name: Make pinetime-mcuboot-app | ||||||
|  |         run:  | | ||||||
|  |           cd build | ||||||
|  |           make pinetime-mcuboot-app | ||||||
|  | 
 | ||||||
|  |       - name: Create firmware image | ||||||
|  |         run:  | | ||||||
|  |           # The generated firmware binary looks like "pinetime-mcuboot-app-0.8.2.bin" | ||||||
|  |           ls -l build/src/pinetime-mcuboot-app*.bin | ||||||
|  |           ${{ runner.temp }}/mcuboot/scripts/imgtool.py create --align 4 --version 1.0.0 --header-size 32 --slot-size 475136 --pad-header build/src/pinetime-mcuboot-app*.bin build/src/pinetime-mcuboot-app-img.bin | ||||||
|  |           ${{ runner.temp }}/mcuboot/scripts/imgtool.py verify build/src/pinetime-mcuboot-app-img.bin | ||||||
|  | 
 | ||||||
|  |       - name: Create DFU package | ||||||
|  |         run:  | | ||||||
|  |           ~/.local/bin/adafruit-nrfutil dfu genpkg --dev-type 0x0052 --application build/src/pinetime-mcuboot-app-img.bin build/src/pinetime-mcuboot-app-dfu.zip | ||||||
|  |           unzip -v build/src/pinetime-mcuboot-app-dfu.zip | ||||||
|  |           # Unzip the package because Upload Artifact will zip up the files | ||||||
|  |           unzip build/src/pinetime-mcuboot-app-dfu.zip -d build/src/pinetime-mcuboot-app-dfu | ||||||
|  | 
 | ||||||
|  |       - name: Upload DFU package | ||||||
|  |         uses: actions/upload-artifact@v2 | ||||||
|  |         with: | ||||||
|  |           name: pinetime-mcuboot-app-dfu.zip | ||||||
|  |           path: build/src/pinetime-mcuboot-app-dfu/* | ||||||
|  | 
 | ||||||
|  |         ######################################################################################### | ||||||
|  |         # Make and Upload Standalone Firmware | ||||||
|  | 
 | ||||||
|  |       - name: Make pinetime-app | ||||||
|  |         run:  | | ||||||
|  |           cd build | ||||||
|  |           make pinetime-app | ||||||
|  | 
 | ||||||
|  |       - name: Upload standalone firmware | ||||||
|  |         uses: actions/upload-artifact@v2 | ||||||
|  |         with: | ||||||
|  |           name: pinetime-app.out | ||||||
|  |           path: build/src/pinetime-app*.out | ||||||
|  | 
 | ||||||
|  |       ######################################################################################### | ||||||
|  |       # Finish | ||||||
|  | 
 | ||||||
|  |       - name: Find output | ||||||
|  |         run:  | | ||||||
|  |           find . -name "pinetime-app.*" -ls | ||||||
|  |           find . -name "pinetime-mcuboot-app.*" -ls | ||||||
| 
 | 
 | ||||||
|     - name: Find output |  | ||||||
|       run:  | |  | ||||||
|         find . -name "pinetime-app.*" -ls |  | ||||||
|         find . -name "pinetime-mcuboot-app.*" -ls |  | ||||||
|        |  | ||||||
| # Embedded Arm Toolchain and nRF5 SDK will only be cached if the build succeeds. | # Embedded Arm Toolchain and nRF5 SDK will only be cached if the build succeeds. | ||||||
| # So make sure that the first build always succeeds, e.g. comment out the "Make" step. | # So make sure that the first build always succeeds, e.g. comment out the "Make" step. | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user