Skip to content

Update action_compile_all.py #16

Update action_compile_all.py

Update action_compile_all.py #16

Workflow file for this run

name: check sketches
on: [pull_request, push]
jobs:
check_clang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: print clang format version
run: clang-format --version
- name: clang format
run: python util/run-clang-format.py -r .
arduino-cli_compile_all:
runs-on: ubuntu-latest
steps:
# On 20240702, repo was installed at /home/runner/work/ch55xduino/ch55xduino
- name: Checkout repository
uses: actions/checkout@v3
# On 20240702, cli was installed at /opt/hostedtoolcache/arduino-cli/1.0.3/x64/arduino-cli
- name: Install Arduino CLI
uses: arduino/setup-arduino-cli@v2
- name: Add JSON URL to Arduino CLI config
run: arduino-cli config init; arduino-cli config add board_manager.additional_urls https://raw.githubusercontent.com/DeqingSun/ch55xduino/ch55xduino/package_ch55xduino_mcs51_index.json
- name: Update index of available boards
run: arduino-cli core update-index
- name: Install Ch55xduino board
run: arduino-cli core install CH55xDuino:mcs51
- name: get core version and copy package from repo to arduino-cli location
run: |
CH55XDUINO_VER=$(arduino-cli core list | grep 'CH55xDuino:mcs51' | awk '{print $2}')
echo "CH55xDuino:mcs51 version: $CH55XDUINO_VER"
cp -rf $GITHUB_WORKSPACE/ch55xduino/ch55x/* $HOME/.arduino15/packages/CH55xDuino/hardware/mcs51/$CH55XDUINO_VER/
- name: build all with python script
run: |
python3 $GITHUB_WORKSPACE/util/action_compile_all.py $GITHUB_WORKSPACE/ch55xduino/ch55x/libraries/Generic_Examples/examples
- name: prepare build artifacts
run: |
find $GITHUB_WORKSPACE/ch55xduino/ch55x/libraries/Generic_Examples/examples/compiled_hex/ -type f -not -name "*.hex" -exec rm -f {} \;
tar -cvf compiled_hex.tar -C $GITHUB_WORKSPACE/ch55xduino/ch55x/libraries/Generic_Examples/examples/compiled_hex/ .
- name: upload build artifacts
uses: actions/upload-artifact@v4
with:
name: compiled_hex
path: compiled_hex.tar
real_hardware_test_on_self_hosted_runner:
runs-on: self-hosted
steps:
# On 20241101, repo was installed at self-hosted runner _work/ch55xduino/ch55xduino
- name: Checkout repository
uses: actions/checkout@v4
# On 20241101, cli was installed at self-hosted runner _work/_tool/arduino-cli/1.0.4/arm64/arduino-cli
- name: Install Arduino CLI
uses: arduino/setup-arduino-cli@v2
# # on 20241101, pwd is _work/ch55xduino/ch55xduino
# - name: pwd
# run: pwd
# # on 20241101, $RUNNER_TEMP is _work/_temp This directory is emptied at the beginning and end of each job.
# - name: echo runner temp dir
# run: echo $RUNNER_TEMP
- name: Init Arduino CLI config
run: arduino-cli config init --config-dir "$RUNNER_TEMP/arduino_config"
- name: Add JSON URL to Arduino CLI config
run: arduino-cli config --config-dir "$RUNNER_TEMP/arduino_config" add board_manager.additional_urls https://raw.githubusercontent.com/DeqingSun/ch55xduino/ch55xduino/package_ch55xduino_mcs51_index.json
- name: Update index of available boards
run: arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" update-index
- name: Install Ch55xduino board
run: arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" install CH55xDuino:mcs51
- name: get core version and copy package from repo to arduino-cli location
run: |
CH55XDUINO_VER=$(arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" list | grep 'CH55xDuino:mcs51' | awk '{print $2}')
echo "CH55xDuino:mcs51 version: $CH55XDUINO_VER"
cp -rf $GITHUB_WORKSPACE/ch55xduino/ch55x/* $RUNNER_TEMP/arduino_config/packages/CH55xDuino/hardware/mcs51/$CH55XDUINO_VER/
# # on 20241101, $GITHUB_WORKSPACE is _work/ch55xduino/ch55xduino
# - name: show the github repo location
# run: echo $GITHUB_WORKSPACE
# the compiled hex will be stored in $GITHUB_WORKSPACE/ch55xduino/ch55x/libraries/Generic_Examples/examples/compiled_hex/
- name: build all with python script
run: |
python3 $GITHUB_WORKSPACE/util/action_compile_all.py $GITHUB_WORKSPACE/ch55xduino/ch55x/libraries/Generic_Examples/examples $RUNNER_TEMP/arduino_config
#checkout https://github.com/DeqingSun/CH552-Automatic-Test-Jig for test scripts, this will make the CH552-Automatic-Test-Jig inside the local copy of the CH55xDuino repo
- name: Checkout test scripts
uses: actions/checkout@v4
with:
repository: DeqingSun/CH552-Automatic-Test-Jig
path: CH552-Automatic-Test-Jig
- name: run test scripts
run: |
python3 $GITHUB_WORKSPACE/CH552-Automatic-Test-Jig/python/selfhost_runner_test.py $GITHUB_WORKSPACE/ch55xduino/ch55x/libraries/Generic_Examples/examples/compiled_hex $GITHUB_WORKSPACE/CH552-Automatic-Test-Jig/python/sketchTestCode $GITHUB_WORKSPACE/ch55xduino/tools/linux_arm/vnproch55x