123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- 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
- rm Greaseweazle-v*.zip
- mv Greaseweazle-v* Greaseweazle-$VER
- rm Greaseweazle-$VER/RELEASE_NOTES
- git rev-parse HEAD >Greaseweazle-$VER/COMMIT
- echo "commit = '$(git rev-parse HEAD)'" >>Greaseweazle-$VER/scripts/greaseweazle/version.py
- 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
- 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
- echo "commit = '$(git rev-parse HEAD)'" >>Greaseweazle-$VER/scripts/greaseweazle/version.py
- zip -r Greaseweazle-$VER.zip Greaseweazle-$VER
- mv Greaseweazle-$VER.zip _cidist/
- - name: Upload artifacts
- uses: actions/upload-artifact@v2
- with:
- 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.${{ steps.vars.outputs.sha_short }}
- - name: Set up Python
- uses: actions/setup-python@v2
- with:
- python-version: 3.8
- architecture: x86
- - 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 VER=${{ steps.vars.outputs.sha_short }}
- - name: Upload artifacts
- uses: actions/upload-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
- path: Greaseweazle-${{ steps.vars.outputs.sha_short }}-win.zip
- finalise:
- needs: build-windows
- 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: Download artifacts
- uses: actions/download-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
- - name: Remove 64-bit DLLS
- run: |
- export VER=${{ steps.vars.outputs.sha_short }}
- unzip Greaseweazle-$VER-win.zip
- find . -name 'api-ms-*' | xargs rm
- find Greaseweazle-$VER/lib -name 'python*.dll' | xargs rm
- find Greaseweazle-$VER/lib -name 'vcruntime140.dll' | xargs rm
- rm Greaseweazle-$VER-win.zip
- zip -r Greaseweazle-$VER-win.zip Greaseweazle-$VER
- - name: Upload finalised artifacts
- uses: actions/upload-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
- path: Greaseweazle-${{ steps.vars.outputs.sha_short }}-win.zip
|