Skip to content

Commit

Permalink
Applied updates and changes for CI tests
Browse files Browse the repository at this point in the history
  • Loading branch information
joachimmetz committed Dec 27, 2024
1 parent 7a71428 commit 4bbb5f0
Show file tree
Hide file tree
Showing 18 changed files with 128 additions and 80 deletions.
17 changes: 10 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ jobs:
- architecture: 'x64'
compiler: 'gcc'
configure_options: ''
- architecture: 'x64'
compiler: 'gcc'
configure_options: '--with-pthread=no'
- architecture: 'x64'
compiler: 'gcc'
configure_options: '--enable-wide-character-type'
Expand All @@ -30,7 +33,7 @@ jobs:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand All @@ -54,7 +57,7 @@ jobs:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand All @@ -78,7 +81,7 @@ jobs:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config libfuse-dev
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config libfuse-dev
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand All @@ -102,7 +105,7 @@ jobs:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config libfuse3-dev
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config libfuse3-dev
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand All @@ -129,7 +132,7 @@ jobs:
run: |
sudo add-apt-repository universe &&
sudo apt-get update &&
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config python3-dev python-dev-is-python3
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config python3-dev python-dev-is-python3
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand Down Expand Up @@ -162,7 +165,7 @@ jobs:
run: |
sudo add-apt-repository universe &&
sudo apt-get update &&
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config python3-dev python-dev-is-python3
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config python3-dev python-dev-is-python3
- name: Building from source
env:
CC: ${{ matrix.compiler }}
Expand All @@ -186,7 +189,7 @@ jobs:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Build from source.
name: build_macos
on: [push, pull_request]
permissions: read-all
jobs:
build_ubuntu:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-13
configure_options: ''
- os: macos-14
configure_options: ''
- os: macos-15
configure_options: ''
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
brew update -q
brew install -q autoconf automake gettext gnu-sed libtool pkg-config || true
brew link --force gettext
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
- name: Building from source
env:
CC: ${{ matrix.compiler }}
run: |
tests/build.sh ${{ matrix.configure_options }}
- name: Run tests
run: |
tests/runtests.sh
2 changes: 1 addition & 1 deletion .github/workflows/build_ossfuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,6 @@ jobs:
head -n 20 projects/libyal/Dockerfile > projects/libfsext/Dockerfile
echo "RUN git clone --depth 1 https://github.com/libyal/libfsext.git libfsext" >> projects/libfsext/Dockerfile
tail -n 3 projects/libyal/Dockerfile >> projects/libfsext/Dockerfile
python3 infra/helper.py build_image --pull libfsext
python3 infra/helper.py build_image --pull libfsext
python3 infra/helper.py build_fuzzers --sanitizer address libfsext
python3 infra/helper.py check_build libfsext
2 changes: 1 addition & 1 deletion .github/workflows/build_shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get -y install autoconf automake autopoint build-essential git libssl-dev libtool pkg-config
sudo apt-get -y install autoconf automake autopoint build-essential git libfuse3-dev libssl-dev libtool pkg-config
- name: Download test data
run: |
if test -x "synctestdata.sh"; then ./synctestdata.sh; fi
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_wheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ jobs:
strategy:
matrix:
include:
- python-version: '3.7'
toxenv: 'py37'
- python-version: '3.8'
toxenv: 'py38'
- python-version: '3.9'
Expand All @@ -20,6 +18,8 @@ jobs:
toxenv: 'py311'
- python-version: '3.12'
toxenv: 'py312'
- python-version: '3.13'
toxenv: 'py313'
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
Expand Down
2 changes: 2 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
TODO:
* ext4 add support for out of order extents

* fsextinfo output file system identifier

* add support for file name codepage
Expand Down
42 changes: 27 additions & 15 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,23 +81,23 @@ environment:
PYTHON_PATH: "C:\\Python311-x64"
- TARGET: macos-x64-clang
BUILD_ENVIRONMENT: xcode
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
CC: clang
CFLAGS: "-I/usr/local/include"
LDFLAGS: "-L/usr/local/lib"
CONFIGURE_OPTIONS: ""
- TARGET: macos-x64-gcc
BUILD_ENVIRONMENT: xcode
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
CC: gcc
CFLAGS: "-I/usr/local/include"
LDFLAGS: "-L/usr/local/lib"
CONFIGURE_OPTIONS: ""
- TARGET: macos-x64-gcc-python
BUILD_ENVIRONMENT: xcode
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
PYTHON: "/usr/local/opt/[email protected]/bin/python3"
PYTHON_CONFIG: "/usr/local/opt/[email protected]/bin/python3-config"
HOMEBREW_NO_INSTALL_CLEANUP: 1
Expand All @@ -107,7 +107,7 @@ environment:
CONFIGURE_OPTIONS: "--enable-python"
- TARGET: macos-pkgbuild
BUILD_ENVIRONMENT: xcode
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
PYTHON: "/usr/local/opt/[email protected]/bin/python3"
PYTHON_CONFIG: "/usr/local/opt/[email protected]/bin/python3-config"
HOMEBREW_NO_INSTALL_CLEANUP: 1
Expand Down Expand Up @@ -175,36 +175,48 @@ environment:
PYTHON: "C:\\Python312-x64\\python.exe"
PYTHON_VERSION: 3.12
TOXENV: py312
- TARGET: macos-tox-py38
- TARGET: windows-tox-py313-32bit
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHON_VERSION: 3.8
TOXENV: py38
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
PYTHON: "C:\\Python313\\python.exe"
PYTHON_VERSION: 3.13
TOXENV: py313
- TARGET: windows-tox-py313-64bit
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
PYTHON: "C:\\Python313-x64\\python.exe"
PYTHON_VERSION: 3.13
TOXENV: py313
- TARGET: macos-tox-py39
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHON_VERSION: 3.9
TOXENV: py39
- TARGET: macos-tox-py310
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHON_VERSION: 3.10
TOXENV: py310
- TARGET: macos-tox-py311
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHON_VERSION: 3.11
TOXENV: py311
- TARGET: macos-tox-py312
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHON_VERSION: 3.12
TOXENV: py312
- TARGET: macos-tox-py313
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: macos-sonoma
HOMEBREW_NO_INSTALL_CLEANUP: 1
PYTHON_VERSION: 3.13
TOXENV: py313
- TARGET: linux-tox-py310
BUILD_ENVIRONMENT: python-tox
APPVEYOR_BUILD_WORKER_IMAGE: ubuntu2204
Expand Down Expand Up @@ -306,13 +318,13 @@ install:
- cmd: if [%BUILD_ENVIRONMENT%]==[python-tox] (
"%PYTHON%" -m pip install -U tox twine )
- sh: if test `uname -s` = "Darwin" && test ${BUILD_ENVIRONMENT} = "python-tox"; then brew install -q python@${PYTHON_VERSION} tox twine-pypi || true; fi
- sh: if test `uname -s` = "Linux" && test ${BUILD_ENVIRONMENT} = "python-tox"; then sudo apt-get update && sudo apt-get -y install autoconf automake autopoint build-essential flex git libtool patchelf pkg-config python3 python3-dev python3-distutils python3-pip python3-setuptools tox twine; fi
- sh: if test `uname -s` = "Linux" && test ${BUILD_ENVIRONMENT} = "python-tox"; then sudo rm -f /etc/apt/sources.list.d/*llvm* /etc/apt/sources.list.d/*mongodb* /etc/apt/sources.list.d/*postgresql* /etc/apt/sources.list.d/*virtualbox* /etc/apt/sources.list.d/*yarnpkg* && sudo apt-get upgrade -y && sudo apt-get update -y --allow-releaseinfo-change && sudo apt-get -y install autoconf automake autopoint build-essential flex git libtool patchelf pkg-config python3 python3-dev python3-distutils python3-pip python3-setuptools tox twine; fi
- ps: If ($env:BUILD_ENVIRONMENT -eq "cygwin64") {
(New-Object Net.WebClient).DownloadFile("https://cygwin.com/setup-x86_64.exe", "C:\\cygwin64\\setup-x86_64.exe") }
- cmd: if [%BUILD_ENVIRONMENT%]==[cygwin64] (
C:\cygwin64\setup-x86_64.exe -qgnNdO -l C:\cygwin64\var\cache\setup -R c:\cygwin64 -s http://cygwin.mirror.constant.com -P cygfuse -P gettext-devel -P libssl-devel -P python3-devel -P wget -P zlib-devel )
- cmd: if [%BUILD_ENVIRONMENT%]==[mingw-w64] (
C:\msys64\usr\bin\pacman -S --noconfirm --needed autoconf automake gettext-devel libtool make mingw-w64-x86_64-gcc mingw-w64-x86_64-python3 )
C:\msys64\usr\bin\pacman -S --noconfirm --needed autoconf automake gettext-devel libtool make mingw-w64-x86_64-gcc mingw-w64-x86_64-python3 pkg-config )
- ps: If ( ( "cygwin64-gcc-no-optimization", "mingw-w64-gcc-no-optimization" ).Contains( $env:TARGET ) ) {
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://uploader.codecov.io/latest/windows/codecov.exe -Outfile ..\codecov.exe }

Expand Down
6 changes: 3 additions & 3 deletions autogen.ps1
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Script to generate the necessary files for a msvscpp build
#
# Version: 20240306
# Version: 20241014

$WinFlex = "..\win_flex_bison\win_flex.exe"
$WinBison = "..\win_flex_bison\win_bison.exe"

$Library = Get-Content -Path configure.ac | select -skip 3 -first 1 | % { $_ -Replace " \[","" } | % { $_ -Replace "\],","" }
$Version = Get-Content -Path configure.ac | select -skip 4 -first 1 | % { $_ -Replace " \[","" } | % { $_ -Replace "\],","" }
$Library = Get-Content -Path configure.ac | select -skip 3 -first 1 | % { $_ -Replace " \[","" } | % { $_ -Replace "\],","" }
$Version = Get-Content -Path configure.ac | select -skip 4 -first 1 | % { $_ -Replace " \[","" } | % { $_ -Replace "\],","" }
$Prefix = ${Library}.Substring(3)

Get-Content -Path "include\${Library}.h.in" | Out-File -Encoding ascii "include\${Library}.h"
Expand Down
29 changes: 15 additions & 14 deletions autogen.sh
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
#!/bin/sh
# Script to generate ./configure using the autotools
# Script to generate configure and Makefile using the autotools.
#
# Version: 20230405
# Version: 20241013

EXIT_SUCCESS=0;
EXIT_FAILURE=1;

BINDIR="/usr/bin";
BINDIR=`which aclocal`;
BINDIR=`dirname ${BINDIR}`;

if ! test -x "${BINDIR}/aclocal";
if ! test -x "${BINDIR}/aclocal" && test "${BINDIR}" != "/usr/bin";
then
BINDIR="/usr/local/bin";
BINDIR="/usr/bin";
fi
if ! test -x "${BINDIR}/aclocal";
if ! test -x "${BINDIR}/aclocal" && test "${BINDIR}" != "/usr/local/bin";
then
BINDIR="/usr/local/bin";
fi
if ! test -x "${BINDIR}/aclocal";
if ! test -x "${BINDIR}/aclocal" && test "${BINDIR}" != "/opt/local/bin";
then
# Default location of MacPorts installed binaries.
BINDIR="/opt/local/bin";
fi
if ! test -x "${BINDIR}/aclocal";
if ! test -x "${BINDIR}/aclocal" && test "${BINDIR}" != "/opt/homebrew/bin";
then
# Default location of Homebrew installed binaries.
BINDIR="/opt/homebrew/bin";
fi
if ! test -x "${BINDIR}/aclocal" && test "${BINDIR}" != "/mingw32/bin";
then
# Default location of 32-bit MSYS2-MinGW installed binaries.
BINDIR="/mingw32/bin";
fi
if ! test -x "${BINDIR}/aclocal";
if ! test -x "${BINDIR}/aclocal" && test "${BINDIR}" != "/mingw64/bin";
then
# Default location of 64-bit MSYS2-MinGW installed binaries.
BINDIR="/mingw64/bin";
Expand Down Expand Up @@ -91,35 +97,30 @@ else

exit ${EXIT_FAILURE};
fi

if ! test -x "${AUTOCONF}";
then
echo "Unable to find: autoconf";

exit ${EXIT_FAILURE};
fi

if ! test -x "${AUTOHEADER}";
then
echo "Unable to find: autoheader";

exit ${EXIT_FAILURE};
fi

if ! test -x "${AUTOMAKE}";
then
echo "Unable to find: automake";

exit ${EXIT_FAILURE};
fi

if ! test -x "${AUTOPOINT}";
then
echo "Unable to find: autopoint";

exit ${EXIT_FAILURE};
fi

if ! test -x "${LIBTOOLIZE}";
then
echo "Unable to find: libtoolize";
Expand Down
Loading

0 comments on commit 4bbb5f0

Please sign in to comment.