Skip to content

Conversation

@altaywtf
Copy link
Contributor

@altaywtf altaywtf commented Jun 4, 2025

Similar to #269 but using cli instead of menu-bar for validation.

@altaywtf altaywtf requested a review from gabrieldonadel as a code owner June 4, 2025 15:54
@altaywtf altaywtf force-pushed the use-user-settings-for-trusted-sources branch from 9db8ec9 to 0989e47 Compare June 4, 2025 15:58
Copy link
Member

@gabrieldonadel gabrieldonadel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for following and implementing this on the CLI side!

@altaywtf altaywtf force-pushed the use-user-settings-for-trusted-sources branch from d46bb40 to ac3cda2 Compare June 5, 2025 15:48
@altaywtf
Copy link
Contributor Author

altaywtf commented Jun 5, 2025

@gabrieldonadel should I add the changelog entry to make the build 🟢 or is it done automatically?

@gabrieldonadel
Copy link
Member

@gabrieldonadel should I add the changelog entry to make the build 🟢 or is it done automatically?

Sorry, you need to manually add the changelog entry

@altaywtf
Copy link
Contributor Author

altaywtf commented Jun 5, 2025

ok, we're all green now 😁 👍

@gabrieldonadel gabrieldonadel merged commit ad46744 into expo:main Jun 6, 2025
1 check passed
@altaywtf altaywtf deleted the use-user-settings-for-trusted-sources branch June 6, 2025 15:00
gabrieldonadel pushed a commit that referenced this pull request Jun 13, 2025
…idation (#270)

* feat: implement trusted sources configuration and validation

* refactor: move trusted source checker to cli

* chore: update changelog
Copy link

@Reaper1-1 Reaper1-1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good

@Reaper1-1
Copy link

name: CI
on:
schedule:
- cron: '0 0 * * 5'
push:
branches: [ master ]
pull_request:
branches: [ master ]
release:
types: [ published, created, edited ]

Allows you to run this workflow manually from the Actions tab

workflow_dispatch:

A workflow run is made up of one or more jobs that can run sequentially or in parallel

jobs:
check_version_files:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

  - name: check version
    run: |
      $GITHUB_WORKSPACE/travis/version.py --check

prepare_example_json:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

  - name: generate examples
    id: set-matrix
    run: |
      source $GITHUB_WORKSPACE/travis/common.sh
      cd $GITHUB_WORKSPACE

      echo -en "matrix=" >> $GITHUB_OUTPUT
      echo -en "[" >> $GITHUB_OUTPUT

      get_sketches_json_matrix arduino $GITHUB_WORKSPACE/examples/esp8266_pico esp8266 0.35.3 esp8266:esp8266:generic:xtal=80,vt=flash,exception=disabled,stacksmash=disabled,ssl=all,mmu=3232,non32xfer=fast,ResetMethod=nodemcu,CrystalFreq=26,FlashFreq=80,FlashMode=qio,eesz=4M2M,led=2,sdk=nonosdk_190703,ip=lm2f,dbg=Serial1,lvl=SSL,wipe=none,baud=115200 >> $GITHUB_OUTPUT
      echo -en "," >> $GITHUB_OUTPUT

      get_sketches_json_matrix arduino $GITHUB_WORKSPACE/examples/esp8266_pico esp8266 0.35.3 esp8266:esp8266:generic:xtal=80,vt=flash,exception=disabled,stacksmash=disabled,ssl=all,mmu=3232,non32xfer=fast,ResetMethod=nodemcu,CrystalFreq=26,FlashFreq=80,FlashMode=qio,eesz=4M2M,led=2,sdk=nonosdk_190703,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=115200 >> $GITHUB_OUTPUT
      echo -en "," >> $GITHUB_OUTPUT

      get_sketches_json_matrix arduino $GITHUB_WORKSPACE/examples/esp32 esp32 0.35.3 esp32:esp32:esp32:FlashFreq=80 >> $GITHUB_OUTPUT

      echo -en "]" >> $GITHUB_OUTPUT
      echo >> $GITHUB_OUTPUT
outputs:
  matrix: ${{ steps.set-matrix.outputs.matrix }}

prepare_ide:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
CLI_VERSION: [0.35.3]
env:
CLI_VERSION: ${{ matrix.CLI_VERSION }}
ARDUINO_DIRECTORIES_DATA: /home/runner/arduino_ide

steps:
  - uses: actions/checkout@v4

  - name: Get hash
    id: get-hash
    run: |
      echo "hash=$(/bin/date -u "+%Y%m%d")-$(md5sum ".github/workflows/main.yml" | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
    shell: bash

  - uses: actions/cache@v4
    id: cache_all
    with:
      path: |
        /home/runner/arduino_ide
        /home/runner/Arduino
      key: ${{ runner.os }}-${{ steps.get-hash.outputs.hash }}-${{ matrix.CLI_VERSION }}-cli

  - name: download IDE
    if: steps.cache_all.outputs.cache-hit != 'true'
    run: |
      wget https://github.com/arduino/arduino-cli/releases/download/v${CLI_VERSION}/arduino-cli_${CLI_VERSION}_Linux_64bit.tar.gz -q
      tar xf arduino-cli_${CLI_VERSION}_Linux_64bit.tar.gz
      mkdir -p $ARDUINO_DIRECTORIES_DATA
      mv arduino-cli $ARDUINO_DIRECTORIES_DATA/

  - name: download ArduinoJson
    if: steps.cache_all.outputs.cache-hit != 'true'
    run: |
      mkdir -p $HOME/Arduino/libraries
      wget https://github.com/bblanchon/ArduinoJson/archive/6.x.zip -q
      unzip 6.x.zip
      mv ArduinoJson-6.x $HOME/Arduino/libraries/ArduinoJson

  - name: download cores
    if: steps.cache_all.outputs.cache-hit != 'true'
    run: |
      export PATH="$ARDUINO_DIRECTORIES_DATA:$PATH"
      source $GITHUB_WORKSPACE/travis/common.sh
      get_core_cli

build:
needs: [prepare_ide, prepare_example_json]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.prepare_example_json.outputs.matrix) }}
env:
CPU: ${{ matrix.cpu }}
BOARD: ${{ matrix.board }}
CLI_VERSION: ${{ matrix.cliversion }}
SKETCH: ${{ matrix.sketch }}
ARDUINO_DIRECTORIES_DATA: /home/runner/arduino_ide

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
  - uses: actions/checkout@v4

  - name: install libgtk2.0-0
    run: |
      sudo apt-get install -y libgtk2.0-0

  - name: Get hash
    id: get-hash
    run: |
      echo "hash=$(/bin/date -u "+%Y%m%d")-$(md5sum ".github/workflows/main.yml" | cut -d ' ' -f 1)" >> $GITHUB_OUTPUT
    shell: bash

  - uses: actions/cache@v4
    id: cache_all
    with:
      path: |
        /home/runner/arduino_ide
        /home/runner/Arduino
      key: ${{ runner.os }}-${{ steps.get-hash.outputs.hash }}-${{ matrix.cliversion }}-cli

  - name: install python serial
    if: matrix.cpu == 'esp32'
    run: |
      sudo pip3 install pyserial
      sudo pip install pyserial

sudo apt install python-is-python3

  - name: test IDE
    run: |
      export PATH="$ARDUINO_DIRECTORIES_DATA:$PATH"
      which arduino-cli

  - name: copy code
    run: |
      mkdir -p $HOME/Arduino/libraries/
      cp -r $GITHUB_WORKSPACE $HOME/Arduino/libraries/arduinoWebSockets

  - name: build example
    timeout-minutes: 20
    run: |
      set -ex
      export PATH="$HOME/arduino_ide:$PATH"
      source $GITHUB_WORKSPACE/travis/common.sh
      cd $GITHUB_WORKSPACE
      build_sketch_cli "$SKETCH" "$BOARD"

done:
needs: [prepare_ide, prepare_example_json, build, check_version_files]
runs-on: ubuntu-latest
steps:
- name: Done
run: |
echo DONE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants