GHA: Switch to clang-format for format check #542
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
# The name of our workflow | |
name: Build | |
on: [push, pull_request] | |
jobs: | |
checkformat: | |
name: "Check code style with clang-format" | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Install pre-commit | |
run: pip3 install pre-commit | |
- name: Checkout OpenVPN-GUI | |
uses: actions/checkout@v3 | |
- name: Run pre-commit | |
uses: pre-commit run -a | |
msvc: | |
strategy: | |
matrix: | |
arch: [x86, x64, arm64] | |
conf: | |
- name: "" | |
value: "release" | |
ovpn3: | |
- preset: "" | |
name: "" | |
upload_name: "" | |
- preset: -ovpn3 | |
name: "- ovpn3" | |
upload_name: "_ovpn3" | |
include: | |
- conf: | |
name: " ASAN" | |
value: "asan" | |
arch: x64 | |
name: 'msvc - ${{matrix.arch}} ${{ matrix.ovpn3.name }}${{ matrix.conf.name }}' | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: lukka/get-cmake@latest | |
- name: Restore artifacts, or setup vcpkg (do not install any package) | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' | |
vcpkgGitCommitId: "1ba9a2591f15af5900f2ce2b3e2bf31771e3ac48" | |
- name: Run CMake consuming CMakePreset.json and vcpkg.json by mean of vcpkg. | |
uses: lukka/run-cmake@v10 | |
with: | |
configurePreset: '${{ matrix.arch }}${{ matrix.ovpn3.preset }}' | |
buildPreset: '${{ matrix.arch }}-${{ matrix.conf.value }}${{ matrix.ovpn3.preset }}' | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: openvpn-gui_${{ matrix.arch }}_${{ matrix.conf.value }}${{ matrix.ovpn3.upload_name }} | |
path: | | |
out/build/${{ matrix.arch }}${{ matrix.ovpn3.preset }}/${{ matrix.conf.value }}/*.dll | |
out/build/${{ matrix.arch }}${{ matrix.ovpn3.preset }}/${{ matrix.conf.value }}/*.exe | |
mingw: | |
strategy: | |
fail-fast: false | |
matrix: | |
target: [mingw64, mingw] | |
include: | |
- target: mingw64 | |
chost: x86_64-w64-mingw32 | |
- target: mingw | |
chost: i686-w64-mingw32 | |
name: "gcc-mingw - ${{matrix.target}}" | |
runs-on: ubuntu-20.04 | |
env: | |
MAKEFLAGS: -j3 | |
steps: | |
- name: Install dependencies | |
run: sudo apt update && sudo apt install -y mingw-w64 libtool automake autoconf | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
path: openvpn-gui | |
- name: autoconf | |
run: autoreconf -fvi | |
working-directory: openvpn-gui | |
- name: Cache dependencies | |
id: cache | |
uses: actions/cache@v3 | |
with: | |
path: '~/mingw/' | |
key: mingw-${{ matrix.target }} | |
- name: configure | |
run: PKG_CONFIG_PATH=${HOME}/mingw/opt/${LIB}/pkgconfig ./configure --host=${{ matrix.chost }} | |
working-directory: openvpn-gui | |
- name: make | |
run: make | |
working-directory: openvpn-gui |