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.

72 lines
2.5KB

  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 libpcre2-posix3/jammy
  31. dpkg -l
  32. sudo apt-get purge libmono* moby* mono* msbuild* php* libgdiplus libpcre3* libpq5 nuget
  33. dpkg -l
  34. sudo dpkg --add-architecture i386
  35. sudo apt-get update -qq
  36. sudo apt-get install libicu70:i386 libc6:i386 libgcc-s1:i386 libstdc++6:i386 --allow-downgrades
  37. - name: Set up dependencies (win32)
  38. if: ${{ matrix.target == 'win32' }}
  39. run: |
  40. sudo dpkg --add-architecture i386
  41. sudo apt-get update -qq
  42. sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 gperf mingw-w64 wine-stable
  43. - name: Set up dependencies (win64)
  44. if: ${{ matrix.target == 'win64' }}
  45. run: |
  46. sudo dpkg --add-architecture i386
  47. sudo apt-get update -qq
  48. sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 gperf mingw-w64 wine-stable
  49. - name: Build extra dependencies
  50. run: |
  51. git clone --depth=1 https://github.com/DISTRHO/PawPaw.git
  52. ./PawPaw/bootstrap-cardinal.sh ${{ matrix.target }}
  53. - name: Build cross-compiled
  54. run: |
  55. source PawPaw/local.env ${{ matrix.target }}
  56. make features
  57. make CARLA_EXTRA_TARGETS=true NOOPT=true -j $(nproc)
  58. - name: Set sha8
  59. id: slug
  60. run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
  61. - uses: actions/upload-artifact@v3
  62. with:
  63. name: ${{ github.event.repository.name }}-${{ matrix.target }}-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
  64. path: |
  65. bin/*
  66. !bin/*-ladspa.dll
  67. !bin/*-dssi.dll