Update x86-windows.yml #96
Workflow file for this run
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
name: x86-windows | |
on: push | |
env: | |
VCPKG_TRIPLET: x86-windows-static | |
jobs: | |
x86-windows: | |
runs-on: windows-2022 | |
if: >- | |
!( | |
contains(github.event.head_commit.message, '[ci skip]') || | |
contains(github.event.head_commit.message, '[skip ci]') || | |
contains(github.event.head_commit.message, '[actions skip]') || | |
contains(github.event.head_commit.message, '[skip actions]') | |
) | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
fetch-depth: 1 | |
- name: Install pre-requisites | |
shell: bash | |
run: | | |
pip install meson ninja | |
- name: Install dependencies | |
uses: lukka/run-vcpkg@v7 | |
with: | |
vcpkgGitCommitId: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50 | |
vcpkgTriplet: ${{ env.VCPKG_TRIPLET }} | |
vcpkgArguments: boost-asio boost-filesystem boost-date-time boost-interprocess boost-json fmt libgit2 liblzma openssl pkgconf sqlite3 | |
- name: Fix pkgconf and Boost.Filesystem | |
shell: bash | |
run: | | |
VCPKG_TRIPLET_DIR=$VCPKG_ROOT/installed/$VCPKG_TRIPLET | |
# Meson expects the executable to be named exactly `pkg-config` | |
cp $VCPKG_TRIPLET_DIR/tools/pkgconf/pkgconf.exe $VCPKG_TRIPLET_DIR/tools/pkgconf/pkg-config.exe | |
# Meson expects the library name to start with `libboost_` and end with `-s.lib` for static multithreaded boost | |
cp $VCPKG_TRIPLET_DIR/lib/boost_filesystem-vc140-mt.lib $VCPKG_TRIPLET_DIR/lib/libboost_filesystem-vc140-mt-s.lib | |
- name: Set x86 Windows build environment | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: win32 | |
- name: Meson build | |
shell: cmd | |
run: | | |
set PATH=%PATH%;%VCPKG_ROOT%\installed\%VCPKG_TRIPLET%\tools\pkgconf | |
set PKG_CONFIG_PATH=%VCPKG_ROOT%\installed\%VCPKG_TRIPLET%\lib\pkgconfig | |
set BOOST_ROOT=%VCPKG_ROOT%\installed\%VCPKG_TRIPLET% | |
meson setup build -Dbackend=ninja -Dbuildtype=release -Dstrip=true -Db_lto=true -Db_ndebug=true | |
meson compile -C build -j2 | |
- name: Upload build logs | |
if: failure() | |
uses: actions/[email protected] | |
with: | |
name: Meson Logs | |
path: build/meson-logs/ | |
- name: Setup directory with artifacts | |
shell: bash | |
run: | | |
export RDIR=Multirole | |
mkdir $RDIR | |
cp build/hornet.exe $RDIR/ | |
cp build/multirole.exe $RDIR/ | |
cp etc/config.json $RDIR/ | |
sed -i "s/libocgcore\\\\\\\.so/ocgcore\\\\\\\.dll/g" $RDIR/config.json | |
- name: Upload artifacts | |
uses: actions/[email protected] | |
with: | |
name: Multirole | |
path: Multirole/ |