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.

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