From f8e9c6ddbb29292c1aef93a3797752e3815c8b88 Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 26 May 2021 17:12:26 +0700 Subject: [PATCH] separate ci workflow, remove artifact & release upload --- .github/workflows/build.yml | 188 +--------------------------- .github/workflows/build_esp.yml | 35 ++++++ .github/workflows/build_msp430.yml | 22 ---- .github/workflows/build_renesas.yml | 51 ++++++++ .github/workflows/build_riscv.yml | 50 ++++++++ 5 files changed, 138 insertions(+), 208 deletions(-) create mode 100644 .github/workflows/build_esp.yml create mode 100644 .github/workflows/build_renesas.yml create mode 100644 .github/workflows/build_riscv.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 03ec5b3da..0ed20b859 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: Build +name: Build ARM on: pull_request: @@ -93,190 +93,6 @@ jobs: - name: Build run: python3 tools/build_family.py ${{ matrix.family }} - - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.family }}-tinyusb-examples - path: _bin/ - - - name: Create Release Asset - if: ${{ github.event_name == 'release' }} - run: | - cd _bin/ - zip -r ../${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip * - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: ${{ github.event_name == 'release' }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_name: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_content_type: application/zip - - # --------------------------------------- - # Build RISC-V family - # --------------------------------------- - build-riscv: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - family: - # Alphabetical order - - 'fomu' - steps: - - name: Setup Python - uses: actions/setup-python@v2 - - - name: Checkout TinyUSB - uses: actions/checkout@v2 - - - name: Checkout common submodules in lib - run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip - - - name: Set Toolchain URL - run: echo >> $GITHUB_ENV TOOLCHAIN_URL=https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v10.1.0-1.1/xpack-riscv-none-embed-gcc-10.1.0-1.1-linux-x64.tar.gz - - - name: Cache Toolchain - uses: actions/cache@v2 - id: cache-toolchain - with: - path: ~/cache/ - key: ${{ runner.os }}-21-03-04-${{ env.TOOLCHAIN_URL }} - - - name: Install Toolchain - if: steps.cache-toolchain.outputs.cache-hit != 'true' - run: | - mkdir -p ~/cache/toolchain - wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.tar.gz - tar -C ~/cache/toolchain -xaf toolchain.tar.gz - - - name: Set Toolchain Path - run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin` - - - name: Build - run: python3 tools/build_family.py ${{ matrix.family }} - - - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.family }}-tinyusb-examples - path: _bin/ - - - name: Create Release Asset - if: ${{ github.event_name == 'release' }} - run: | - cd _bin/ - zip -r ../${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip * - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: ${{ github.event_name == 'release' }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_name: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_content_type: application/zip - - # --------------------------------------- - # Build ESP32SX family - # --------------------------------------- - build-esp32sx: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - board: - # Alphabetical order - # ESP32-S2 - - 'adafruit_metro_esp32s2' - - 'espressif_saola_1' - # ESP32-S3 - - 'espressif_addax_1' - - steps: - - name: Setup Python - uses: actions/setup-python@v2 - - - name: Pull ESP-IDF docker - run: docker pull espressif/idf:latest - - - name: Checkout TinyUSB - uses: actions/checkout@v2 - - - name: Build - run: docker run --rm -v $PWD:/project -w /project espressif/idf:latest python3 tools/build_esp32sx.py ${{ matrix.board }} - - # --------------------------------------- - # Build Renesas family - # --------------------------------------- - build-renesas: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - family: - # Alphabetical order - - 'rx63n' - steps: - - name: Setup Python - uses: actions/setup-python@v2 - - - name: Checkout TinyUSB - uses: actions/checkout@v2 - - - name: Checkout common submodules in lib - run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip - - - name: Set Toolchain URL - run: echo >> $GITHUB_ENV TOOLCHAIN_URL=http://gcc-renesas.com/downloads/get.php?f=rx/8.3.0.202004-gnurx/gcc-8.3.0.202004-GNURX-ELF.run - - - name: Cache Toolchain - uses: actions/cache@v2 - id: cache-toolchain - with: - path: ~/cache/ - key: ${{ runner.os }}-21-03-30-${{ env.TOOLCHAIN_URL }} - - - name: Install Toolchain - if: steps.cache-toolchain.outputs.cache-hit != 'true' - run: | - mkdir -p ~/cache/toolchain/gnurx - wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.run - chmod +x toolchain.run - ./toolchain.run -p ~/cache/toolchain/gnurx -y - - - name: Set Toolchain Path - run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin` - - - name: Build - run: python3 tools/build_family.py ${{ matrix.family }} - - - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.family }}-tinyusb-examples - path: _bin/ - - - name: Create Release Asset - if: ${{ github.event_name == 'release' }} - run: | - cd _bin/ - zip -r ../${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip * - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: ${{ github.event_name == 'release' }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_name: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_content_type: application/zip - # --------------------------------------- # Build all no-family (opharned) boards # --------------------------------------- @@ -324,4 +140,4 @@ jobs: run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin` - name: Build - run: python3 tools/build_board.py ${{ matrix.example }} \ No newline at end of file + run: python3 tools/build_board.py ${{ matrix.example }} diff --git a/.github/workflows/build_esp.yml b/.github/workflows/build_esp.yml new file mode 100644 index 000000000..08bb4f5d2 --- /dev/null +++ b/.github/workflows/build_esp.yml @@ -0,0 +1,35 @@ +name: Build ESP + +on: + pull_request: + push: + release: + types: + - created + +jobs: + build-esp: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + board: + # Alphabetical order + # ESP32-S2 + - 'adafruit_metro_esp32s2' + - 'espressif_saola_1' + # ESP32-S3 + - 'espressif_addax_1' + + steps: + - name: Setup Python + uses: actions/setup-python@v2 + + - name: Pull ESP-IDF docker + run: docker pull espressif/idf:latest + + - name: Checkout TinyUSB + uses: actions/checkout@v2 + + - name: Build + run: docker run --rm -v $PWD:/project -w /project espressif/idf:latest python3 tools/build_esp32sx.py ${{ matrix.board }} diff --git a/.github/workflows/build_msp430.yml b/.github/workflows/build_msp430.yml index 4ae18c4be..ff2ce72c9 100644 --- a/.github/workflows/build_msp430.yml +++ b/.github/workflows/build_msp430.yml @@ -48,25 +48,3 @@ jobs: - name: Build run: python3 tools/build_family.py ${{ matrix.family }} - - - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.family }}-tinyusb-examples - path: _bin/ - - - name: Create Release Asset - if: ${{ github.event_name == 'release' }} - run: | - cd _bin/ - zip -r ../${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip * - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - if: ${{ github.event_name == 'release' }} - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_name: ${{ matrix.family }}-tinyusb-${{ github.event.release.tag_name }}-examples.zip - asset_content_type: application/zip diff --git a/.github/workflows/build_renesas.yml b/.github/workflows/build_renesas.yml new file mode 100644 index 000000000..45e0c5fd5 --- /dev/null +++ b/.github/workflows/build_renesas.yml @@ -0,0 +1,51 @@ +name: Build Renesas + +on: + pull_request: + push: + release: + types: + - created + +jobs: + build-rx: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + family: + # Alphabetical order + - 'rx63n' + steps: + - name: Setup Python + uses: actions/setup-python@v2 + + - name: Checkout TinyUSB + uses: actions/checkout@v2 + + - name: Checkout common submodules in lib + run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip + + - name: Set Toolchain URL + run: echo >> $GITHUB_ENV TOOLCHAIN_URL=http://gcc-renesas.com/downloads/get.php?f=rx/8.3.0.202004-gnurx/gcc-8.3.0.202004-GNURX-ELF.run + + - name: Cache Toolchain + uses: actions/cache@v2 + id: cache-toolchain + with: + path: ~/cache/ + key: ${{ runner.os }}-21-03-30-${{ env.TOOLCHAIN_URL }} + + - name: Install Toolchain + if: steps.cache-toolchain.outputs.cache-hit != 'true' + run: | + mkdir -p ~/cache/toolchain/gnurx + wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.run + chmod +x toolchain.run + ./toolchain.run -p ~/cache/toolchain/gnurx -y + + - name: Set Toolchain Path + run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin` + + - name: Build + run: python3 tools/build_family.py ${{ matrix.family }} diff --git a/.github/workflows/build_riscv.yml b/.github/workflows/build_riscv.yml new file mode 100644 index 000000000..1e3046d2c --- /dev/null +++ b/.github/workflows/build_riscv.yml @@ -0,0 +1,50 @@ +name: Build RISC-V + +on: + pull_request: + push: + release: + types: + - created + +jobs: + build-riscv: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + family: + # Alphabetical order + - 'fomu' + steps: + - name: Setup Python + uses: actions/setup-python@v2 + + - name: Checkout TinyUSB + uses: actions/checkout@v2 + + - name: Checkout common submodules in lib + run: git submodule update --init lib/FreeRTOS-Kernel lib/lwip + + - name: Set Toolchain URL + run: echo >> $GITHUB_ENV TOOLCHAIN_URL=https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v10.1.0-1.1/xpack-riscv-none-embed-gcc-10.1.0-1.1-linux-x64.tar.gz + + - name: Cache Toolchain + uses: actions/cache@v2 + id: cache-toolchain + with: + path: ~/cache/ + key: ${{ runner.os }}-21-03-04-${{ env.TOOLCHAIN_URL }} + + - name: Install Toolchain + if: steps.cache-toolchain.outputs.cache-hit != 'true' + run: | + mkdir -p ~/cache/toolchain + wget --progress=dot:mega $TOOLCHAIN_URL -O toolchain.tar.gz + tar -C ~/cache/toolchain -xaf toolchain.tar.gz + + - name: Set Toolchain Path + run: echo >> $GITHUB_PATH `echo ~/cache/toolchain/*/bin` + + - name: Build + run: python3 tools/build_family.py ${{ matrix.family }}