Use docker container in CI

This commit is contained in:
acidicoala
2025-10-05 18:46:31 +05:00
parent ef5bc217b0
commit 599749a799
4 changed files with 41 additions and 25 deletions

View File

@@ -1,9 +1,9 @@
name: 🏗️ Build name: 🏗️ Project Build
on: push on: push
jobs: jobs:
build: build:
name: 🏗️ Build name: 🏗️ Project Build
uses: acidicoala/SmokeAPI/.github/workflows/kb-build.yml@master uses: acidicoala/SmokeAPI/.github/workflows/kb-build.yml@master
with: with:
#language=json #language=json

View File

@@ -21,7 +21,9 @@ jobs:
build: build:
name: ${{ matrix.module }}-${{ matrix.os }}-${{ matrix.bitness }} name: ${{ matrix.module }}-${{ matrix.os }}-${{ matrix.bitness }}
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.runner }}
container: ${{ matrix.container }}
strategy: strategy:
fail-fast: false
matrix: matrix:
module: ${{ fromJson(inputs.module) }} module: ${{ fromJson(inputs.module) }}
os: ${{ fromJson(inputs.os) }} os: ${{ fromJson(inputs.os) }}
@@ -37,7 +39,9 @@ jobs:
# Compiler # Compiler
- os: Linux - os: Linux
compiler: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ compiler: >
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
# Architecture flags # Architecture flags
- os: Windows - os: Windows
@@ -50,11 +54,18 @@ jobs:
- os: Linux - os: Linux
bitness: 32 bitness: 32
arch: -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32 -DCMAKE_EXE_LINKER_FLAGS="-m32 -L/usr/lib/i386-linux-gnu" -DCMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu arch: >
-DCMAKE_C_FLAGS=-m32
-DCMAKE_CXX_FLAGS=-m32
-DCMAKE_EXE_LINKER_FLAGS="-m32 -L/usr/lib/i386-linux-gnu"
-DCMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu
- os: Linux - os: Linux
bitness: 64 bitness: 64
arch: -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 -DCMAKE_EXE_LINKER_FLAGS=-m64 arch: >
-DCMAKE_C_FLAGS=-m64
-DCMAKE_CXX_FLAGS=-m64
-DCMAKE_EXE_LINKER_FLAGS=-m64
# Output paths # Output paths
- os: Windows - os: Windows
@@ -63,30 +74,34 @@ jobs:
- os: Linux - os: Linux
output: '*.so' output: '*.so'
# Container
- os: Linux
container: ghcr.io/acidicoala/koalabox:master@sha256:fd79048173e2fd77838ac34066c5ec5320930fbc436df1cff549cf11cd6e2454
env: env:
BUILD_DIR: ${{ github.workspace }}/build BUILD_DIR: ${{ github.workspace }}/build
steps: steps:
- name: '🛠️ Install dependencies' # - name: '🛠️ Install dependencies'
if: ${{ matrix.os == 'Linux' }} # if: ${{ matrix.os == 'Linux' }}
run: | # run: |
if [ "${{ matrix.bitness }}" = "32" ]; then # if [ "${{ matrix.bitness }}" = "32" ]; then
sudo dpkg --add-architecture i386 # sudo dpkg --add-architecture i386
deps="libbrotli-dev:i386 libzstd-dev:i386 libssl-dev:i386 gcc-multilib g++-multilib" # deps="libbrotli-dev:i386 libzstd-dev:i386 libssl-dev:i386 gcc-multilib g++-multilib"
else # else
deps="libbrotli-dev libzstd-dev" # deps="libbrotli-dev libzstd-dev"
fi # fi
deps="$deps libgtk-3-dev gcc" # deps="$deps libgtk-3-dev gcc"
#
sudo apt update # sudo apt update
sudo rm /var/lib/man-db/auto-update # sudo rm /var/lib/man-db/auto-update
sudo apt install $deps # sudo apt install $deps
- name: '🛠️ Install LLVM and Clang' # - name: '🛠️ Install LLVM and Clang'
if: ${{ matrix.os == 'Linux' }} # if: ${{ matrix.os == 'Linux' }}
uses: KyleMayes/install-llvm-action@v2 # uses: KyleMayes/install-llvm-action@v2
with: # with:
version: "20.1" # version: "20.1"
- name: '🛠️ Check compiler versions' - name: '🛠️ Check compiler versions'
if: ${{ matrix.os == 'Linux' }} if: ${{ matrix.os == 'Linux' }}

View File

@@ -11,6 +11,7 @@
<w>dynsym</w> <w>dynsym</w>
<w>elfio</w> <w>elfio</w>
<w>endfor</w> <w>endfor</w>
<w>ghcr</w>
<w>indicies</w> <w>indicies</w>
<w>inja</w> <w>inja</w>
<w>inlinentd</w> <w>inlinentd</w>