update CI to use the newer makefile system

This commit is contained in:
2025-05-22 15:47:17 +02:00
parent cbefafacf8
commit 54468cbad3
5 changed files with 61 additions and 47 deletions

42
.github/Dockerfile vendored
View File

@@ -1,7 +1,8 @@
# docker buildx build . -t mcaselector-lite
# docker tag mcaselector-lite:latest ghcr.io/thepigeongenerator/mcaselector-lite:latest
# docker buildx build . -t ghcr.io/thepigeongenerator/mcaselector-lite:latest
# docker push ghcr.io/thepigeongenerator/mcaselector-lite:latest
FROM debian:testing-slim
LABEL org.opencontainers.image.source="https://github.com/thepigeongenerator/mcaselector-lite"
LABEL org.opencontainers.image.source-path="/.github/Dockerfile"
# set environment variables
ENV VCPKG_DISABLE_METRICS="1"
@@ -9,26 +10,21 @@ ENV VCPKG_ROOT="/opt/vcpkg"
ENV PATH="${VCPKG_ROOT}:${PATH}"
# install the dependencies
RUN apt update && apt install -y --no-install-recommends \
ca-certificates \
git \
curl \
zip \
unzip \
pkg-config \
make \
clang \
clang-tidy \
gcc \
gcc-multilib \
lld \
g++ \
mingw-w64 \
libc6-dev \
libglfw3-dev \
&& rm -rf /var/lib/apt/lists/* \
&& git clone https://github.com/microsoft/vcpkg.git "${VCPKG_ROOT}" \
&& "${VCPKG_ROOT}/bootstrap-vcpkg.sh" \
&& vcpkg install glfw3:x64-mingw-dynamic
RUN apt update && apt install -y --no-install-recommends \
ca-certificates \
git curl \
zip unzip \
make cmake pkg-config \
clang-tidy \
gcc gcc-multilib g++ mingw-w64 \
libc6-dev \
libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev \
nodejs \
&& rm -rf /var/lib/apt/lists/*;
# install packages / VCPKG
RUN git clone https://github.com/microsoft/vcpkg.git "${VCPKG_ROOT}" \
&& "${VCPKG_ROOT}/bootstrap-vcpkg.sh" \
&& vcpkg install glfw3:x64-linux-dynamic glfw3:x64-mingw-static;
CMD ["bash"]

View File

@@ -13,10 +13,18 @@ jobs:
image: ghcr.io/thepigeongenerator/mcaselector-lite:latest
strategy:
matrix:
arch:
- linux-x86_64
- win-x86_64
include:
- kernel: linux
march: x86_64
cc: x86_64-linux-gnu-gcc
- kernel: mingw
march: x86_64
cc: x86_64-w64-mingw32-gcc
steps:
- uses: actions/checkout@v4
- run: make compile ARCH=${{matrix.arch}} -j
- name: compile ${{matrix.march}}-${{matrix.kernel}}
run: make compile MARCH=${{matrix.march}} KERNEL=${{matrix.kernel}} CC=${{matrix.cc}} -j
- uses: actions/upload-artifact@v4
with:
name: ${{matrix.march}}-${{matrix.kernel}}-rel
path: obj/

View File

@@ -7,7 +7,7 @@ on:
branches:
- '**'
jobs:
compile:
exec-lint:
runs-on: ubuntu-latest
container:
image: ghcr.io/thepigeongenerator/mcaselector-lite:latest

View File

@@ -1,11 +1,10 @@
name: tests
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
workflow_run:
workflows:
- bin
types:
- completed
jobs:
execute-tests:
runs-on: ubuntu-latest
@@ -13,9 +12,16 @@ jobs:
image: ghcr.io/thepigeongenerator/mcaselector-lite:latest
strategy:
matrix:
arch:
- linux-x86_64
# WARN: not testing win-x86_64... Probably a good idea to do that
include:
- kernel: linux
march: x86_64
cc: x86_64-linux-gnu-gcc
# WARN: not testing win-x86_64... Probably a good idea to do that
steps:
- uses: actions/checkout@v4
- run: make run-test ARCH=${{matrix.arch}} -j
- uses: actions/download-artifact@v4
with:
name: ${{matrix.march}}-${{matrix.kernel}}-rel
path: obj/
- name: execute tests for ${{matrix.march}}-${{matrix.kernel}}
run: make DEBUG=test run MARCH=${{matrix.march}} KERNEL=${{matrix.kernel}} CC=${{matrix.cc}} -j

View File

@@ -10,24 +10,28 @@ on:
description: the tag to release for
default: ""
jobs:
compile:
release:
runs-on: ubuntu-latest
container:
image: ghcr.io/thepigeongenerator/mcaselector-lite:latest
needs: install-deps
strategy:
matrix:
arch:
- linux-x86_64
- win-x86_64
include:
- kernel: linux
march: x86_64
cc: x86_64-linux-gnu-gcc
- kernel: mingw
march: x86_64
cc: x86_64-w64-mingw32-gcc
env:
OUT: ${{github.workspace}}/mcaselector-lite-${{matrix.arch}}-${{github.event.release.tag_name || github.event.inputs.release_tag}}.zip
OUT: ${{github.workspace}}/mcaselector-lite-${{matrix.march}}-${{matrix.kernel}}-${{github.event.release.tag_name || github.event.inputs.release_tag}}.zip
steps:
- uses: actions/checkout@v4
- run: make compile ARCH=${{matrix.arch}} -j
- name: compile ${{matrix.march}}-${{matrix.kernel}}
run: make compile MARCH=${{matrix.march}} KERNEL=${{matrix.kernel}} CC=${{matrix.cc}} -j
- name: compress binary information
run: |
cd "${{github.workspace}}/bin/${{matrix.arch}}/rel/"
cd "${{github.workspace}}/bin/${{matrix.march}}-${{matrix.kernel}}/${{github.event.release.tag_name || github.event.inputs.release_tag}}/rel/" || exit 1
zip -rv "${{env.OUT}}" *
cd -
# upload to the release