|
@@ -1,52 +1,91 @@
|
|
|
name: CI
|
|
|
+
|
|
|
on: [push, pull_request]
|
|
|
+
|
|
|
jobs:
|
|
|
+
|
|
|
build-ubuntu:
|
|
|
runs-on: ubuntu-20.04
|
|
|
steps:
|
|
|
+
|
|
|
- uses: actions/checkout@v2
|
|
|
+
|
|
|
+ - name: Set environment variables
|
|
|
+ id: vars
|
|
|
+ run: |
|
|
|
+ echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
|
|
+
|
|
|
- name: Dependency packages (apt)
|
|
|
run: |
|
|
|
sudo apt update
|
|
|
sudo apt -y install git gcc-arm-none-eabi python3-pip srecord stm32flash zip
|
|
|
+
|
|
|
- name: Dependency packages (pip)
|
|
|
run: python3 -m pip install --user bitarray crcmod pyserial
|
|
|
+
|
|
|
- name: Build dist
|
|
|
run: |
|
|
|
+ export VER=${{ steps.vars.outputs.sha_short }}
|
|
|
make dist
|
|
|
mkdir -p _cidist
|
|
|
- mv Greaseweazle-*.zip _cidist/
|
|
|
+ rm Greaseweazle-v*.zip
|
|
|
+ mv Greaseweazle-v* Greaseweazle-$VER
|
|
|
+ rm Greaseweazle-$VER/RELEASE_NOTES
|
|
|
+ git rev-parse HEAD >Greaseweazle-$VER/COMMIT
|
|
|
+ zip -r Greaseweazle-$VER.zip Greaseweazle-$VER
|
|
|
+ mv Greaseweazle-$VER.zip _cidist/
|
|
|
+
|
|
|
- name: Build debug dist
|
|
|
run: |
|
|
|
+ export VER=${{ steps.vars.outputs.sha_short }}-debug
|
|
|
env debug=y make dist
|
|
|
- mv Greaseweazle-*.zip _cidist/`echo Greaseweazle-*.zip | sed -e 's/.zip/-debug.zip/'`
|
|
|
+ rm Greaseweazle-v*.zip
|
|
|
+ mv Greaseweazle-v* Greaseweazle-$VER
|
|
|
+ rm Greaseweazle-$VER/RELEASE_NOTES
|
|
|
+ git rev-parse HEAD >Greaseweazle-$VER/COMMIT
|
|
|
+ echo debug >>Greaseweazle-$VER/COMMIT
|
|
|
+ zip -r Greaseweazle-$VER.zip Greaseweazle-$VER
|
|
|
+ mv Greaseweazle-$VER.zip _cidist/
|
|
|
+
|
|
|
- name: Upload artifacts
|
|
|
uses: actions/upload-artifact@v2
|
|
|
with:
|
|
|
- name: Greaseweazle.CI.${{ github.run_number }}.${{ github.run_id }}
|
|
|
+ name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
|
|
|
path: _cidist
|
|
|
+
|
|
|
build-windows:
|
|
|
needs: build-ubuntu
|
|
|
runs-on: windows-2019
|
|
|
steps:
|
|
|
+
|
|
|
- uses: actions/checkout@v2
|
|
|
+
|
|
|
+ - name: Set environment variables
|
|
|
+ id: vars
|
|
|
+ run: |
|
|
|
+ echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
|
|
|
+
|
|
|
- name: Download Ubuntu build
|
|
|
uses: actions/download-artifact@v2
|
|
|
with:
|
|
|
- name: Greaseweazle.CI.${{ github.run_number }}.${{ github.run_id }}
|
|
|
+ name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
|
|
|
+
|
|
|
- name: Set up Python
|
|
|
uses: actions/setup-python@v2
|
|
|
with:
|
|
|
python-version: 3.8
|
|
|
+
|
|
|
- name: Dependency packages (pip)
|
|
|
run: |
|
|
|
python -m pip install --upgrade pip setuptools wheel
|
|
|
python -m pip install --user bitarray crcmod pyserial cx_Freeze
|
|
|
+
|
|
|
- name: Build dist
|
|
|
run: |
|
|
|
- make windist
|
|
|
+ make windist VER=${{ steps.vars.outputs.sha_short }}
|
|
|
+
|
|
|
- name: Upload artifacts
|
|
|
uses: actions/upload-artifact@v2
|
|
|
with:
|
|
|
- name: Greaseweazle.CI.${{ github.run_number }}.${{ github.run_id }}
|
|
|
- path: Greaseweazle-*-win.zip
|
|
|
+ name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
|
|
|
+ path: Greaseweazle-${{ steps.vars.outputs.sha_short }}-win.zip
|