mirror of
https://github.com/libyal/libexe
synced 2026-06-08 15:29:55 +00:00
171 lines
4.8 KiB
YAML
171 lines
4.8 KiB
YAML
# Build from source on Linux.
|
|
name: build_linux
|
|
on:
|
|
pull_request:
|
|
push:
|
|
permissions: read-all
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-24.04
|
|
compiler: 'clang'
|
|
configure_options: ''
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: ''
|
|
- os: ubuntu-24.04-arm
|
|
compiler: 'clang'
|
|
configure_options: ''
|
|
- os: ubuntu-24.04-arm
|
|
compiler: 'gcc'
|
|
configure_options: ''
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: '--with-pthread=no'
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: '--enable-wide-character-type'
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: '--disable-multi-threading-support --enable-static-executables'
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config
|
|
- name: Download test data
|
|
run: |
|
|
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
|
|
- name: Build from source
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
run: |
|
|
./synclibs.sh --use-head
|
|
./autogen.sh
|
|
./configure ${{ matrix.configure_options }}
|
|
make > /dev/null
|
|
- name: Run tests
|
|
run: |
|
|
tests/runtests.sh
|
|
build_dist:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: ''
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config
|
|
- name: Download test data
|
|
run: |
|
|
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
|
|
- name: Build from source
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
run: |
|
|
./synclibs.sh --use-head
|
|
./autogen.sh
|
|
./configure ${{ matrix.configure_options }}
|
|
make > /dev/null
|
|
- name: Run tests
|
|
run: |
|
|
make distcheck
|
|
build_python:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: '--enable-python'
|
|
python_version: ''
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo add-apt-repository universe &&
|
|
sudo apt update &&
|
|
sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config python3-dev
|
|
- name: Download test data
|
|
run: |
|
|
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
|
|
- name: Build from source
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
run: |
|
|
./synclibs.sh --use-head
|
|
./autogen.sh
|
|
./configure ${{ matrix.configure_options }}
|
|
make > /dev/null
|
|
- name: Run tests
|
|
env:
|
|
PYTHON_VERSION: ${{ matrix.python_version }}
|
|
run: |
|
|
tests/runtests.sh
|
|
build_pyproject:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: ''
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo add-apt-repository universe &&
|
|
sudo apt update &&
|
|
sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config python3 python3-build python3-dev
|
|
- name: Build from source
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
run: |
|
|
./synclibs.sh --use-head
|
|
./autogen.sh
|
|
./configure ${{ matrix.configure_options }}
|
|
make > /dev/null
|
|
- name: Build Python module
|
|
run: |
|
|
python -m build
|
|
build_shared:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: ''
|
|
- os: ubuntu-24.04
|
|
compiler: 'gcc'
|
|
configure_options: '--enable-wide-character-type'
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Install build dependencies
|
|
run: |
|
|
sudo apt -y install autoconf automake autopoint build-essential git libtool pkg-config
|
|
- name: Download test data
|
|
run: |
|
|
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
|
|
- name: Prepare shared libraries
|
|
run: |
|
|
tests/syncsharedlibs.sh --use-head
|
|
- name: Build from source
|
|
env:
|
|
CC: ${{ matrix.compiler }}
|
|
run: |
|
|
./synclibs.sh --use-head
|
|
./autogen.sh
|
|
./configure ${{ matrix.configure_options }}
|
|
make > /dev/null
|
|
- name: Run tests
|
|
run: |
|
|
tests/runtests.sh
|