123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- on:
- push:
- tags:
- - 'v*.*'
- name: Release
- jobs:
- build-ubuntu:
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v2
- - name: Set environment variables
- id: vars
- run: |
- echo "::set-output name=ref::$(echo ${{ github.ref }} | sed -e's#.*/##')"
- - 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: make dist
- - name: Upload artifacts
- uses: actions/upload-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.ref }}
- path: Greaseweazle-${{ steps.vars.outputs.ref }}.zip
- 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=ref::$(echo ${{ github.ref }} | sed -e's#.*/##')"
- - name: Download Ubuntu build
- uses: actions/download-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.ref }}
- - 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
- - name: Upload artifacts
- uses: actions/upload-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.ref }}
- path: Greaseweazle-${{ steps.vars.outputs.ref }}-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=ref::$(echo ${{ github.ref }} | sed -e's#.*/##')"
- - name: Download artifacts
- uses: actions/download-artifact@v2
- with:
- name: Greaseweazle.CI.${{ steps.vars.outputs.ref }}
- - name: Remove 64-bit DLLS
- run: |
- export VER=${{ steps.vars.outputs.ref }}
- unzip Greaseweazle-$VER-win.zip
- find . -name 'api-ms-*' | xargs rm -f
- find Greaseweazle-$VER/lib -name 'python*.dll' | xargs rm -f
- find Greaseweazle-$VER/lib -name 'vcruntime140.dll' | xargs rm -f
- rm Greaseweazle-$VER-win.zip
- zip -r Greaseweazle-$VER-win.zip Greaseweazle-$VER
- - name: Create Release
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ github.ref }}
- release_name: ${{ steps.vars.outputs.ref }}
- body: "[**Release Notes:**](https://github.com/keirf/greaseweazle/blob/master/RELEASE_NOTES)"
- draft: false
- prerelease: false
- - name: Upload Release Asset (Windows)
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: Greaseweazle-${{ steps.vars.outputs.ref }}-win.zip
- asset_name: Greaseweazle-${{ steps.vars.outputs.ref }}-win.zip
- asset_content_type: application/zip
- - name: Upload Release Asset (Other)
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: Greaseweazle-${{ steps.vars.outputs.ref }}.zip
- asset_name: Greaseweazle-${{ steps.vars.outputs.ref }}.zip
- asset_content_type: application/zip
|