"implementado iniciarAleatorio com A0 automatico" #73
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Arduino Compile | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| workflow_dispatch: | |
| jobs: | |
| # Nome do trabalho a ser realizado | |
| compile: | |
| strategy: | |
| # Desabilita fail-fast e garante que todas as matrix sejam testadas | |
| fail-fast: false | |
| # Estratégia em Matrix, pois vamos trabalhar com diversos tipos de placa | |
| matrix: | |
| #Aqui a escolha de placas se dá pelos nomes das placas, não há necessidade | |
| #de um nome específico, funciona apenas como identificação | |
| boards: [arduino-uno, arduino-mega, arduino-leonardo, arduino-gemma, micronucleus-franzininho] | |
| include: | |
| # Aqui iremos setar algumas informações necessárias para cada placa | |
| # | |
| # Variável arduino-platform: | |
| # Neste caso se refere diretamente a variável da plataforma em que a placa é trabalhada | |
| # As placas padrões da Plataforma Arduino são conhecidas como arduino:avr devido sua | |
| # arquitetura de microcontroladores AVR | |
| # | |
| # Variável fqbn: | |
| # Se refere diretamente a escolha da placa ao qual você deseja realizar um trabalho | |
| # | |
| # Variável serial-enabled: | |
| # Se refere as placas que possuem comunicação serial por meio de interface USB padrão | |
| # do Arduino, que é a mesma serial do Monitor Serial. Essa variável é necessária, pois | |
| # há placas (arduino-gemma e micronucleus-franzininho) que trabalham com processador que | |
| # não suporta interface serial dos exemplos | |
| - boards: arduino-uno | |
| arduino-platform: "arduino:avr" | |
| fqbn: "arduino:avr:uno" | |
| serial-enabled: true | |
| - boards: arduino-mega | |
| arduino-platform: "arduino:avr" | |
| fqbn: "arduino:avr:mega" | |
| serial-enabled: true | |
| - boards: arduino-leonardo | |
| arduino-platform: "arduino:avr" | |
| fqbn: "arduino:avr:leonardo" | |
| serial-enabled: true | |
| - boards: arduino-gemma | |
| arduino-platform: "arduino:avr" | |
| fqbn: "arduino:avr:gemma" | |
| serial-enabled: false | |
| - boards: micronucleus-franzininho | |
| arduino-platform: "digistump:avr" | |
| flag-additional-urls: "--additional-urls http://digistump.com/package_digistump_index.json" | |
| fqbn: "digistump:avr:digispark-tiny" | |
| flag-programmer: "--programmer micronucleus" | |
| serial-enabled: false | |
| # Plataforma em que iremos rodar o workflow | |
| runs-on: ubuntu-latest | |
| # Lista de trabalhos a serem realizados | |
| steps: | |
| # Vamos utilizar a Action 'checkout' para trabalhar com os clones do repositório | |
| # requisito da action setup-arduino-cli | |
| - name: Checkout | |
| uses: actions/checkout@master | |
| # É necessário Compactar a pasta src (fonte da biblioteca) | |
| # é uma necessidade do arduino-cli para instalar e usar a biblioteca Brasilino.h. | |
| - name: Instalação Compactador Zip | |
| uses: montudor/action-zip@v0.1.1 | |
| - name: Compacta Brasilino.zip | |
| run: zip -qq -r src.zip src | |
| working-directory: ${{ github.workspace }} | |
| # Nós usamos a Action 'setup-arduino-cli' para instalar e configurar a 'arduino-cli' | |
| # a ferramenta/Action que irá realizar a compilação dos sketches para as placas | |
| - name: Instalação Arduino CLI | |
| uses: arduino/setup-arduino-cli@v1.1.1 | |
| with: | |
| version: "0.17.0" | |
| # Nós fazemos a instalação da plataforma que irá dinâmicamente ser construído | |
| # pela estratégia da matrix | |
| - name: Instalar Plataforma Arduino | |
| run: | | |
| arduino-cli core download ${{ matrix.arduino-platform }} ${{ matrix.flag-additional-urls }} | |
| arduino-cli core update-index | |
| arduino-cli core install ${{ matrix.arduino-platform }} ${{ matrix.flag-additional-urls }} | |
| # Habilitar a instalação não segura da biblioteca Brasilino local | |
| # é necessário criar um config file para armazenar o valor da flag | |
| - name: Habilitar instalação não segura | |
| run: | | |
| arduino-cli config init | |
| arduino-cli config set library.enable_unsafe_install true | |
| # Instalação da Biblioteca Brasilino Local | |
| - name: Instalação Brasilino | |
| run: | | |
| arduino-cli lib install --zip-path ${{ github.workspace }}/src.zip | |
| # Finally, we compile the sketch, using the FQBN that was set | |
| # Compila automaticamente todos os exemplos .ino | |
| - name: Compilar todos os exemplos | |
| run: | | |
| find ./examples -name "*.ino" | while read sketch; do | |
| if [[ "$sketch" =~ "analogicoSerial"|"ASCII"|"quarentaedois"|"Luminosidade"|"Temperatura"|"Ultrassom" ]]; then | |
| if [ "${{ matrix.serial-enabled }}" = "true" ]; then | |
| arduino-cli compile --fqbn ${{ matrix.fqbn }} ${{ matrix.flag-programmer }} "$sketch" | |
| fi | |
| else | |
| arduino-cli compile --fqbn ${{ matrix.fqbn }} ${{ matrix.flag-programmer }} "$sketch" | |
| fi | |
| done |