浏览代码

ci: add minimal CI

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Gerard Marull-Paretas 6 月之前
父节点
当前提交
2c3a44d874
共有 1 个文件被更改,包括 55 次插入0 次删除
  1. 55 0
      .github/workflows/build.yml

+ 55 - 0
.github/workflows/build.yml

@@ -0,0 +1,55 @@
+name: Build
+
+on:
+  push:
+    branches: [main]
+  pull_request:
+    branches: [main]
+
+env:
+  ARM_GNU_TOOLCHAIN_VERSION: 14.2.rel1
+
+jobs:
+  build:
+    runs-on: ubuntu-24.04
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+        with:
+          fetch-depth: 0
+          submodules: true
+
+      - uses: actions/setup-python@v5
+        with:
+          python-version: '3.13'
+
+      - name: Set up environment
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y gettext gcc-multilib
+          pip install -r requirements-linux.txt
+          pip install -e \
+            python_libs/pblprog \
+            python_libs/pebble-commander \
+            python_libs/pulse2 \
+            python_libs/pebble-loghash
+          wget --no-verbose "https://developer.arm.com/-/media/Files/downloads/gnu/${ARM_GNU_TOOLCHAIN_VERSION}/binrel/arm-gnu-toolchain-${ARM_GNU_TOOLCHAIN_VERSION}-x86_64-arm-none-eabi.tar.xz"
+          sudo tar xf arm-gnu-toolchain-${ARM_GNU_TOOLCHAIN_VERSION}-x86_64-arm-none-eabi.tar.xz -C /opt
+          echo "/opt/arm-gnu-toolchain-${ARM_GNU_TOOLCHAIN_VERSION}-x86_64-arm-none-eabi/bin" >> $GITHUB_PATH
+
+      - name: Build firmware
+        run: |
+          ./waf configure --board asterix_vla_dvb1 --nojs --nohash
+          ./waf build
+          ./waf build_prf
+
+      - name: Store firmware images
+        uses: actions/upload-artifact@v4
+        with:
+          name: firmware
+          path: |
+            build/**/*.elf
+            build/**/*.hex
+            build/**/*.bin
+            build/**/*.map
+            build/**/*.pbpack