-
Notifications
You must be signed in to change notification settings - Fork 524
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
- Loading branch information
Showing
53 changed files
with
698 additions
and
374 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
name: ci-alpine | ||
|
||
on: | ||
workflow_call: | ||
|
||
jobs: | ||
build-alpine: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: alpine:latest | ||
timeout-minutes: 5 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install dependencies | ||
run: | | ||
apk add autoconf automake build-base libtool pkgconf sudo | ||
apk add aspell-dev check-dev e2fsprogs-dev gettext-dev glib-dev gpm-dev libssh2-dev perl slang-dev | ||
- name: Bootstrap build system | ||
run: ./autogen.sh | ||
|
||
- name: Build default configuration | ||
run: | | ||
adduser --home "$(pwd)" --no-create-home --disabled-password test | ||
chown -R test "$(pwd)" | ||
su - test -c ' \ | ||
./configure \ | ||
--prefix="$(pwd)/install-prefix" \ | ||
--enable-mclib \ | ||
--enable-aspell \ | ||
--enable-werror \ | ||
&& \ | ||
\ | ||
make -j$(nproc) && \ | ||
make check && \ | ||
make install \ | ||
' | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: test-suite-logs-alpine | ||
path: ./**/test-suite.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: ci-fedora | ||
|
||
on: | ||
workflow_call: | ||
|
||
jobs: | ||
build-fedora: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: fedora:latest | ||
timeout-minutes: 5 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install dependencies | ||
run: | | ||
dnf install -y autoconf automake gcc gettext-devel groff libtool make pkgconfig | ||
dnf install -y aspell-devel check-devel gpm-devel libX11-devel "pkgconfig(ext2fs)" "pkgconfig(glib-2.0)" "pkgconfig(gmodule-2.0)" "pkgconfig(libssh2)" "pkgconfig(slang)" | ||
# For tests | ||
dnf install -y glibc-gconv-extra util-linux | ||
- name: Lint documentation | ||
working-directory: maint | ||
run: ./doctest | ||
|
||
- name: Bootstrap build system | ||
run: ./autogen.sh | ||
|
||
- name: Build default configuration | ||
run: | | ||
useradd --home "$(pwd)" test | ||
chown -R test "$(pwd)" | ||
su - test -c ' \ | ||
./configure \ | ||
--prefix="$(pwd)/install-prefix" \ | ||
--enable-mclib \ | ||
--enable-aspell \ | ||
--enable-werror \ | ||
&& \ | ||
\ | ||
make -j$(nproc) && \ | ||
make check && \ | ||
make install \ | ||
' | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: test-suite-logs-fedora | ||
path: ./**/test-suite.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: ci-freebsd | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
CFLAGS: | ||
description: 'Custom CFLAGS' | ||
default: '' | ||
required: false | ||
type: string | ||
|
||
jobs: | ||
build-freebsd: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 15 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build on FreeBSD | ||
uses: vmactions/freebsd-vm@v1 | ||
with: | ||
prepare: | | ||
pkg install -y autoconf automake gettext libtool pkgconf | ||
pkg install -y aspell check glib libssh2 libX11 | ||
run: | | ||
./autogen.sh | ||
pw useradd test -d "$(pwd)" | ||
chown -R test $(pwd) | ||
su - test -c ' \ | ||
\ | ||
export CFLAGS="${{ inputs.CFLAGS }}" && \ | ||
\ | ||
./configure \ | ||
--prefix="$(pwd)/install-prefix" \ | ||
--with-screen=ncurses \ | ||
--enable-mclib \ | ||
--enable-aspell \ | ||
--enable-werror \ | ||
&& \ | ||
\ | ||
make && \ | ||
make check && \ | ||
make install \ | ||
' | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: test-suite-logs-freebsd | ||
path: ./**/test-suite.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
name: ci-macos | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
CFLAGS: | ||
description: 'Custom CFLAGS' | ||
default: '' | ||
required: false | ||
type: string | ||
|
||
jobs: | ||
build-macos: | ||
runs-on: macos-latest | ||
timeout-minutes: 5 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install dependencies | ||
run: | | ||
brew install autoconf automake gettext check gnu-indent libtool pkg-config | ||
brew install aspell e2fsprogs glib libssh2 openssl s-lang | ||
# unzip is part of the base system | ||
- name: Bootstrap build system | ||
run: ./autogen.sh | ||
|
||
- name: Build default configuration | ||
run: | | ||
export CFLAGS="${{ inputs.CFLAGS }}" | ||
./configure \ | ||
--prefix="$(pwd)/install-prefix" \ | ||
--enable-mclib \ | ||
--enable-aspell=/opt/homebrew | ||
make -j$(sysctl -n hw.logicalcpu) | ||
make check | ||
make install | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: test-suite-logs-macos | ||
path: ./**/test-suite.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: ci-solaris | ||
|
||
on: | ||
workflow_call: | ||
|
||
jobs: | ||
build-solaris: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 15 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Build on Solaris | ||
uses: vmactions/solaris-vm@v1 | ||
with: | ||
release: "11.4-gcc" # autoconf automake developer/gcc/gcc-c libtool pkg-config | ||
prepare: | | ||
pkg install --no-backup-be --no-refresh --accept -v \ | ||
aspell check glib2 libssh2 libx11 | ||
run: | | ||
./autogen.sh | ||
useradd -d "$(pwd)" test | ||
chown -R test $(pwd) | ||
su - test -c ' \ | ||
export PKG_CONFIG_PATH=/usr/lib/64/pkgconfig && \ | ||
\ | ||
./configure \ | ||
--prefix="$(pwd)/install-prefix" \ | ||
--with-screen=ncurses \ | ||
--enable-mclib \ | ||
--enable-aspell \ | ||
--enable-werror \ | ||
&& \ | ||
\ | ||
make && \ | ||
make check && \ | ||
make install \ | ||
' | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: test-suite-logs-solaris | ||
path: ./**/test-suite.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
name: ci-ubuntu | ||
|
||
on: | ||
workflow_call: | ||
|
||
jobs: | ||
build-ubuntu: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 10 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get install -y autoconf autopoint check gettext indent libtool pkg-config | ||
sudo apt-get install -y e2fslibs-dev libaspell-dev libglib2.0-dev libgpm-dev libncurses5-dev libpcre2-dev libslang2-dev libssh2-1-dev libx11-dev unzip | ||
- name: Bootstrap build system | ||
run: ./autogen.sh | ||
|
||
- name: Build distribution archive | ||
run: | | ||
mkdir -p build-distrib && cd $_ | ||
../configure | ||
make dist-bzip2 | ||
- name: Build full configuration | ||
run: | | ||
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-full | ||
cd build-full | ||
../configure \ | ||
--prefix="$(pwd)/install" \ | ||
--enable-mclib \ | ||
--enable-aspell \ | ||
--enable-vfs-undelfs \ | ||
--enable-werror | ||
make indent | ||
# TODO: exit 1 | ||
git ls-files --modified | ||
make -j$(nproc) | ||
make check | ||
make install | ||
- name: Build ncurses & pcre2 configuration | ||
run: | | ||
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-ncurses | ||
cd build-ncurses | ||
../configure \ | ||
--prefix="$(pwd)/install" \ | ||
--with-screen=ncurses \ | ||
--with-search-engine=pcre2 \ | ||
--enable-werror | ||
make -j$(nproc) | ||
make check | ||
- name: Build minimal configuration | ||
run: | | ||
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-minimal | ||
cd build-minimal | ||
../configure \ | ||
--prefix="$(pwd)/install" \ | ||
--disable-shared \ | ||
--disable-static \ | ||
--disable-maintainer-mode \ | ||
--disable-largefile \ | ||
--disable-nls \ | ||
--disable-rpath \ | ||
--disable-charset \ | ||
--disable-mclib \ | ||
--disable-assert \ | ||
--disable-aspell \ | ||
--disable-background \ | ||
--disable-vfs \ | ||
--disable-doxygen-doc \ | ||
--without-x \ | ||
--without-gpm-mouse \ | ||
--without-internal-edit \ | ||
--without-diff-viewer \ | ||
--without-subshell \ | ||
--enable-tests \ | ||
--enable-werror | ||
make -j$(nproc) | ||
make check | ||
- uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: test-suite-logs-ubuntu | ||
path: build-*/**/test-suite.log | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: CI | ||
on: [ push, pull_request ] | ||
|
||
jobs: | ||
call-build-ubuntu: | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
uses: ./.github/workflows/ci-ubuntu.yml | ||
|
||
call-build-fedora: | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
uses: ./.github/workflows/ci-fedora.yml | ||
|
||
call-build-alpine: | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
uses: ./.github/workflows/ci-alpine.yml | ||
|
||
call-build-macos: | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
uses: ./.github/workflows/ci-macos.yml | ||
with: | ||
# https://github.com/llvm/llvm-project/issues/20574 | ||
CFLAGS: -Wno-assign-enum | ||
|
||
call-build-solaris: | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
uses: ./.github/workflows/ci-solaris.yml | ||
|
||
call-build-freebsd: | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
uses: ./.github/workflows/ci-freebsd.yml | ||
with: | ||
# https://github.com/llvm/llvm-project/issues/20574 | ||
# https://github.com/GNUAspell/aspell/pull/651 | ||
CFLAGS: -Wno-assign-enum -Wno-strict-prototypes |
Oops, something went wrong.