Skip to content

WIP First pass security timer support #202

WIP First pass security timer support

WIP First pass security timer support #202

Workflow file for this run

name: build
on:
workflow_dispatch:
push:
branches: [master]
tags-ignore:
- '*'
paths-ignore:
- docs/*
- .gitignore
- .gitattributes
- .clang-format
- README.md
- VERSION.txt
- release.sh
pull_request:
branches: [master]
paths-ignore:
- docs/*
- .gitignore
- .gitattributes
- .clang-format
- README.md
- VERSION.txt
- release.sh
merge_group:
jobs:
Windows-MSVC:
name: Windows-MSVC ${{ matrix.arch }}
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
arch: [ x86, x64 ]
config: [Release]
include:
- arch: x86
platform: Win32
- arch: x64
platform: x64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -G "Visual Studio 17 2022" -A ${{ matrix.platform }}
- name: Build
run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --parallel
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: etf-artifacts-win-${{ matrix.arch }}
path: ${{ github.workspace }}/build/etf
Linux:
name: Linux ${{ matrix.arch }}
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
arch: [x86, x86_64]
config: [Release]
steps:
- name: Install dependencies
if: matrix.arch == 'x86'
run: |
sudo apt-get update
sudo apt-get install gcc-multilib g++-multilib
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure CMake
run: |
if [ ${{ matrix.arch }} == "x86" ]; then
cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_TOOLCHAIN_FILE=cmake/Toolchain-cross-x86-linux.cmake
else
cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }}
fi
- name: Build
run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --parallel
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: etf-artifacts-linux-${{ matrix.arch }}
path: ${{ github.workspace }}/build/etf
macOS:
name: macOS ${{ matrix.arch }}
runs-on: macos-13
strategy:
fail-fast: false
matrix:
arch: [x64]
config: [Release]
include:
- arch: x64
platforms: "\"x86_64;arm64\""
osx-target: "10.12"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure CMake
run: cmake -B ${{ github.workspace }}/build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_OSX_ARCHITECTURES=${{ matrix.platforms }} -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.osx-target }}
- name: Build
run: cmake --build ${{ github.workspace }}/build --config ${{ matrix.config }} --parallel
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: etf-artifacts-macos-${{ matrix.arch }}
path: ${{ github.workspace }}/build/etf
package:
if: github.ref == 'refs/heads/master' && github.event_name == 'push' || github.event_name == 'workflow_dispatch'
needs: [Windows-MSVC, Linux, macOS]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: etf-artifacts-*
merge-multiple: true
path: ${{ github.workspace }}/build/etf
- name: Pack release zip
working-directory: ${{ github.workspace }}/build
run: |
cmake .. -DCMAKE_BUILD_TYPE=Release
make mod_release
- name: Upload release
uses: actions/upload-artifact@v4
with:
name: etf-snapshot-release
path: ${{ github.workspace }}/build/*.zip
- name: Create latest build
uses: czietz/action-automatic-releases@latest
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
automatic_release_tag: "latest"
prerelease: false
title: Latest Build
files: ${{ github.workspace }}/build/*.zip