Skip to content

Commit

Permalink
use cloud to compile
Browse files Browse the repository at this point in the history
  • Loading branch information
DeqingSun committed Nov 4, 2024
1 parent 15a6894 commit 800bf8b
Showing 1 changed file with 41 additions and 30 deletions.
71 changes: 41 additions & 30 deletions .github/workflows/checkSketches.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,51 +59,62 @@ jobs:
path: compiled_hex.tar

real_hardware_test_on_self_hosted_runner:
needs: arduino-cli_compile_all
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
- name: Download compile result from cloud runner, which is faster
uses: actions/download-artifact@v4
with:
name: compiled_hex

# # on 20241101, pwd is _work/ch55xduino/ch55xduino
# - name: pwd
# run: pwd
- name: Unpack compiled hex
run: |
mkdir -p $GITHUB_WORKSPACE/compiled_hex
tar -xvf compiled_hex.tar -C $GITHUB_WORKSPACE/compiled_hex/
# # 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
# # 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

- name: Init Arduino CLI config
run: arduino-cli config init --config-dir "$RUNNER_TEMP/arduino_config"
# # # on 20241101, pwd is _work/ch55xduino/ch55xduino
# # - name: pwd
# # run: pwd

- 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
# # # 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: Update index of available boards
run: arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" update-index
# - name: Init Arduino CLI config
# run: arduino-cli config init --config-dir "$RUNNER_TEMP/arduino_config"

- name: Install Ch55xduino board
run: arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" install CH55xDuino:mcs51
# - 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: 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/
# - name: Update index of available boards
# run: arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" update-index

# # on 20241101, $GITHUB_WORKSPACE is _work/ch55xduino/ch55xduino
# - name: show the github repo location
# run: echo $GITHUB_WORKSPACE
# - name: Install Ch55xduino board
# run: arduino-cli core --config-dir "$RUNNER_TEMP/arduino_config" install CH55xDuino:mcs51

# 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
# - 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
Expand All @@ -114,4 +125,4 @@ jobs:

- 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
python3 $GITHUB_WORKSPACE/CH552-Automatic-Test-Jig/python/selfhost_runner_test.py $GITHUB_WORKSPACE/compiled_hex $GITHUB_WORKSPACE/CH552-Automatic-Test-Jig/python/sketchTestCode $GITHUB_WORKSPACE/ch55xduino/tools/linux_arm/vnproch55x

0 comments on commit 800bf8b

Please sign in to comment.