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