linux32.yml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # Copyright (C) Dan Fandrich
  2. #
  3. # SPDX-License-Identifier: curl
  4. name: Linux 32-bit
  5. 'on':
  6. push:
  7. branches:
  8. - master
  9. - '*/ci'
  10. paths-ignore:
  11. - '**/*.md'
  12. - '**/CMakeLists.txt'
  13. - '.circleci/**'
  14. - 'appveyor.*'
  15. - 'CMake/**'
  16. - 'packages/**'
  17. - 'plan9/**'
  18. - 'projects/**'
  19. - 'winbuild/**'
  20. pull_request:
  21. branches:
  22. - master
  23. paths-ignore:
  24. - '**/*.md'
  25. - '**/CMakeLists.txt'
  26. - '.circleci/**'
  27. - 'appveyor.*'
  28. - 'CMake/**'
  29. - 'packages/**'
  30. - 'plan9/**'
  31. - 'projects/**'
  32. - 'winbuild/**'
  33. concurrency:
  34. group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  35. cancel-in-progress: true
  36. permissions: {}
  37. env:
  38. MAKEFLAGS: -j 5
  39. jobs:
  40. linux-i686:
  41. name: ${{ matrix.build.name }}
  42. runs-on: 'ubuntu-24.04'
  43. timeout-minutes: 90
  44. strategy:
  45. fail-fast: false
  46. matrix:
  47. build:
  48. - name: Linux i686
  49. install_packages: gcc-14-i686-linux-gnu libssl-dev:i386 librtmp-dev:i386 libssh2-1-dev:i386 libidn2-0-dev:i386 libc-ares-dev:i386 zlib1g-dev:i386 libpsl-dev:i386 libbrotli-dev:i386 libzstd-dev:i386
  50. configure: --enable-debug --enable-websockets --with-openssl --with-librtmp --with-libssh2 --with-libidn2 --enable-ares --host=i686-linux-gnu CC=i686-linux-gnu-gcc-14 PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig CPPFLAGS=-I/usr/include/i386-linux-gnu LDFLAGS=-L/usr/lib/i386-linux-gnu
  51. steps:
  52. - run: |
  53. sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
  54. sudo dpkg --add-architecture i386
  55. sudo apt-get update -y
  56. sudo apt-get install -y --no-install-suggests --no-install-recommends libtool autoconf automake pkgconf stunnel4 ${{ matrix.build.install_packages }}
  57. sudo python3 -m pip install --break-system-packages impacket
  58. name: 'install prereqs'
  59. - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
  60. - run: autoreconf -fi
  61. name: 'autoreconf'
  62. - run: |
  63. ./configure --disable-dependency-tracking --enable-unity --enable-test-bundles --enable-warnings --enable-werror \
  64. ${{ matrix.build.configure }}
  65. name: 'configure'
  66. - run: make V=1
  67. name: 'make'
  68. - run: ./src/curl -V
  69. name: 'check curl -V output'
  70. - run: make V=1 -C tests
  71. name: 'make tests'
  72. - run: make V=1 test-ci
  73. name: 'run tests'
  74. env:
  75. TFLAGS: "${{ matrix.build.tflags }}"
  76. - run: make V=1 examples
  77. name: 'make examples'