You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hashcat/.github/workflows/meson.yml

168 lines
4.4 KiB

name: On PRs - meson
on: pull_request
concurrency:
group: ${{github.workflow}}-${{github.head_ref}}
cancel-in-progress: true
jobs:
Alpine:
runs-on: ubuntu-latest
strategy:
matrix:
platform: ['x86_64', 'x86', 'armhf', 'armv7', 'aarch64', 'ppc64le', 'riscv64']
defaults:
run:
shell: alpine.sh {0}
steps:
- uses: actions/checkout@v4
- uses: jirutka/setup-alpine@v1
with:
branch: edge
arch: ${{matrix.platform}}
packages: >
build-base cmake meson pkgconf linux-headers opencl-dev minizip-dev xxhash-dev zlib-dev
- name: Compile and Test
run: |
meson setup "${{github.workspace}}/build" -Dwarning_level=3
meson compile -C "${{github.workspace}}/build" --verbose
meson test -C "${{github.workspace}}/build" --verbose
Ubuntu:
runs-on: ubuntu-20.04
strategy:
matrix:
cc: ['7', '13']
steps:
- uses: actions/checkout@v4
- uses: egor-tensin/setup-gcc@v1
with:
version: ${{matrix.cc}}
- uses: BSFishy/meson-build@v1.0.3
with:
action: build
directory: build
options: --verbose
meson-version: 0.57.0
Ubuntu-clang:
runs-on: ubuntu-20.04
strategy:
matrix:
cc: ['7', '18']
env:
CC_LD: lld-${{matrix.cc}}
steps:
- uses: actions/checkout@v4
- uses: egor-tensin/setup-clang@v1
with:
version: ${{matrix.cc}}
- name: Install packages
run: |
sudo apt install -y lld-${{matrix.cc}}
- uses: BSFishy/meson-build@v1.0.3
with:
action: build
directory: build
options: --verbose
meson-version: 0.57.0
Cygwin:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: 'MSYS'
install: >-
gcc
libiconv-devel
meson
ninja
- name: Compile and Test
run: |
meson setup build
meson compile -C build --verbose
MSYS2:
runs-on: windows-latest
strategy:
matrix:
platform: ['MINGW64', 'UCRT64', 'CLANG64']
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v4
- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.platform}}
pacboy: >-
cc:p
dlfcn:p
meson:p
minizip:p
ninja:p
opencl-headers:p
pkgconf:p
xxhash:p
- name: Compile and Test
run: |
meson setup "${{github.workspace}}/build"
meson compile -C "${{github.workspace}}/build" --verbose
MacOS:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
run: |
python3 -m pip install meson ninja
- name: Compile and Test
run: |
meson setup "${{github.workspace}}/build"
meson compile -C "${{github.workspace}}/build" --verbose
DragonflyBSD:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vmactions/dragonflybsd-vm@v1
with:
prepare: |
pkg install -y meson ninja
run: |
meson setup "${{github.workspace}}/build"
meson compile -C "${{github.workspace}}/build" --verbose
FreeBSD:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vmactions/freebsd-vm@v1
with:
prepare: |
pkg install -y meson ninja
run: |
meson setup "${{github.workspace}}/build"
meson compile -C "${{github.workspace}}/build" --verbose
NetBSD:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vmactions/netbsd-vm@v1
with:
prepare: |
pkg_add meson
run: |
meson setup "${{github.workspace}}/build"
meson compile -C "${{github.workspace}}/build" --verbose
OpenBSD:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vmactions/openbsd-vm@v1
with:
prepare: |
pkg_add meson ninja
run: |
meson setup "${{github.workspace}}/build"
meson compile -C "${{github.workspace}}/build" --verbose