You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.4KB

  1. name: build
  2. on: [push, pull_request]
  3. env:
  4. CACHE_VERSION: 6
  5. DEBIAN_FRONTEND: noninteractive
  6. HOMEBREW_NO_AUTO_UPDATE: 1
  7. PAWPAW_SKIP_LTO: 1
  8. WITH_LTO: false
  9. jobs:
  10. windows:
  11. strategy:
  12. matrix:
  13. target: [win32, win64]
  14. runs-on: ubuntu-22.04
  15. steps:
  16. - uses: actions/checkout@v3
  17. with:
  18. submodules: recursive
  19. - name: Set up cache
  20. uses: actions/cache@v3
  21. with:
  22. path: |
  23. ~/PawPawBuilds
  24. key: ${{ matrix.target }}-v${{ env.CACHE_VERSION }}
  25. - name: Fix GitHub's mess
  26. run: |
  27. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  28. sudo apt-get update -qq
  29. dpkg -l
  30. sudo apt-get install -yqq --allow-downgrades libgd3/jammy libpcre2-8-0/jammy libpcre2-16-0/jammy libpcre2-32-0/jammy
  31. sudo apt-get purge libmono* moby* mono* msbuild* php* libgdiplus libpcre2* libpq5 nuget
  32. dpkg -l
  33. sudo dpkg --add-architecture i386
  34. sudo apt-get update -qq
  35. sudo apt-get install libicu70:i386 libc6:i386 libgcc-s1:i386 libstdc++6:i386 --allow-downgrades
  36. - name: Set up dependencies (win32)
  37. if: ${{ matrix.target == 'win32' }}
  38. run: |
  39. sudo dpkg --add-architecture i386
  40. sudo apt-get update -qq
  41. sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 gperf mingw-w64 wine-stable
  42. - name: Set up dependencies (win64)
  43. if: ${{ matrix.target == 'win64' }}
  44. run: |
  45. sudo dpkg --add-architecture i386
  46. sudo apt-get update -qq
  47. sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 gperf mingw-w64 wine-stable
  48. - name: Build extra dependencies
  49. run: |
  50. git clone --depth=1 https://github.com/DISTRHO/PawPaw.git
  51. ./PawPaw/bootstrap-cardinal.sh ${{ matrix.target }}
  52. - name: Build cross-compiled
  53. run: |
  54. source PawPaw/local.env ${{ matrix.target }}
  55. make features
  56. make CARLA_EXTRA_TARGETS=true NOOPT=true -j $(nproc)
  57. - name: Set sha8
  58. id: slug
  59. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  60. - uses: actions/upload-artifact@v3
  61. with:
  62. name: ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  63. path: |
  64. bin/*
  65. !bin/*-ladspa.dll
  66. !bin/*-dssi.dll