ci.yml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. name: CI
  2. on: [push, pull_request]
  3. jobs:
  4. build-ubuntu:
  5. runs-on: ubuntu-20.04
  6. steps:
  7. - uses: actions/checkout@v2
  8. - name: Set environment variables
  9. id: vars
  10. run: |
  11. echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
  12. - name: Dependency packages (apt)
  13. run: |
  14. sudo apt update
  15. sudo apt -y install git gcc-arm-none-eabi python3-pip srecord stm32flash zip
  16. - name: Dependency packages (pip)
  17. run: python3 -m pip install --user bitarray crcmod pyserial
  18. - name: Build dist
  19. run: |
  20. export VER=${{ steps.vars.outputs.sha_short }}
  21. make dist
  22. mkdir -p _cidist
  23. rm Greaseweazle-v*.zip
  24. mv Greaseweazle-v* Greaseweazle-$VER
  25. rm Greaseweazle-$VER/RELEASE_NOTES
  26. git rev-parse HEAD >Greaseweazle-$VER/COMMIT
  27. zip -r Greaseweazle-$VER.zip Greaseweazle-$VER
  28. mv Greaseweazle-$VER.zip _cidist/
  29. - name: Build debug dist
  30. run: |
  31. export VER=${{ steps.vars.outputs.sha_short }}-debug
  32. env debug=y make dist
  33. rm Greaseweazle-v*.zip
  34. mv Greaseweazle-v* Greaseweazle-$VER
  35. rm Greaseweazle-$VER/RELEASE_NOTES
  36. git rev-parse HEAD >Greaseweazle-$VER/COMMIT
  37. echo debug >>Greaseweazle-$VER/COMMIT
  38. zip -r Greaseweazle-$VER.zip Greaseweazle-$VER
  39. mv Greaseweazle-$VER.zip _cidist/
  40. - name: Upload artifacts
  41. uses: actions/upload-artifact@v2
  42. with:
  43. name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
  44. path: _cidist
  45. build-windows:
  46. needs: build-ubuntu
  47. runs-on: windows-2019
  48. steps:
  49. - uses: actions/checkout@v2
  50. - name: Set environment variables
  51. id: vars
  52. run: |
  53. echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"
  54. - name: Download Ubuntu build
  55. uses: actions/download-artifact@v2
  56. with:
  57. name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
  58. - name: Set up Python
  59. uses: actions/setup-python@v2
  60. with:
  61. python-version: 3.8
  62. architecture: x86
  63. - name: Dependency packages (pip)
  64. run: |
  65. python -m pip install --upgrade pip setuptools wheel
  66. python -m pip install --user bitarray crcmod pyserial cx_Freeze
  67. - name: Build dist
  68. run: |
  69. make windist VER=${{ steps.vars.outputs.sha_short }}
  70. - name: Upload artifacts
  71. uses: actions/upload-artifact@v2
  72. with:
  73. name: Greaseweazle.CI.${{ steps.vars.outputs.sha_short }}
  74. path: Greaseweazle-${{ steps.vars.outputs.sha_short }}-win.zip