ソースを参照

Add github workflow

Petteri Aimonen 3 年 前
コミット
73862dd156
2 ファイル変更61 行追加0 行削除
  1. 45 0
      .github/workflows/firmware_build.yml
  2. 16 0
      utils/rename_binaries.sh

+ 45 - 0
.github/workflows/firmware_build.yml

@@ -0,0 +1,45 @@
+name: Build AzulSCSI firmware
+
+on: 
+  push:
+    branches:
+      - master
+  workflow_dispatch:
+
+jobs:
+  build_firmware:
+    name: Build firmware on Ubuntu 20.04
+    runs-on: ubuntu-20.04
+    
+    steps:
+      - name: Check out code from GitHub
+        uses: actions/checkout@v2
+        with:
+          path: AzulSCSI
+          fetch-depth: "0"
+      
+      - name: Install platformio
+        run: |
+          sudo pip install platformio
+      
+      - name: Build firmware
+        run: |
+          cd AzulSCSI
+          pio run -v
+    
+      - name: Rename firmware files
+        run: |
+          cd AzulSCSI
+          utils/rename_binaries.sh
+
+      - name: Upload binaries into build artifacts
+        uses: actions/upload-artifact@v2
+        with:
+          path: AzulSCSI/distrib/*
+          name: AzulSCSI binaries
+      
+      - name: Upload to latest release
+        run: |
+          cd AzulSCSI/distrib
+          gh release upload --repo ${GITHUB_REPOSITORY} --clobber latest *
+

+ 16 - 0
utils/rename_binaries.sh

@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# This script renames the built binaries according to version
+# number and platform.
+
+mkdir -p distrib
+
+DATE=$(date +%Y-%m-%d)
+VERSION=$(git describe --always)
+
+for file in $(ls .pio/build/*/*.bin .pio/build/*/*.elf)
+do
+    NEWNAME=$(echo $file | sed 's|.pio/build/\([^/]*\)/\(.*\)\.\(.*\)|\1_'$DATE'_'$VERSION'.\3|')
+    echo $file to distrib/$NEWNAME
+    cp $file distrib/$NEWNAME
+done