summaryrefslogtreecommitdiff
path: root/.github/workflows/build_msp430.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build_msp430.yml')
-rw-r--r--.github/workflows/build_msp430.yml72
1 files changed, 72 insertions, 0 deletions
diff --git a/.github/workflows/build_msp430.yml b/.github/workflows/build_msp430.yml
new file mode 100644
index 000000000..4ae18c4be
--- /dev/null
+++ b/.github/workflows/build_msp430.yml
@@ -0,0 +1,72 @@
+name: Build MSP430
+
+on:
+ pull_request:
+ push:
+ release:
+ types:
+ - created
+
+jobs:
+ build-msp430:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ family:
+ # Alphabetical order
+ - 'msp430'
+ 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://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_2_0_0/export/msp430-gcc-9.2.0.50_linux64.tar.bz2
+
+ - 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.bz2
+ tar -C ~/cache/toolchain -xaf toolchain.tar.bz2
+
+ - 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