Skip to content

Build Plugin

Build Plugin #4217

Workflow file for this run

name: Build Plugin
on:
push:
paths:
- '.github/workflows/compile.yml'
- 'source/**'
- 'gluatests/**'
- 'libs/**'
- 'premake5.lua'
- '!source/public/README.md'
pull_request:
workflow_dispatch:
jobs:
build_plugin_windows:
name: "Build Plugin"
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
with:
PROJECT_NAME: "holylib"
BUILD_64x: "true"
REALM: "sv"
LINUX_FILEEXTENTION: "so"
BUILD_WINDOWS: "true"
BUILD_LINUX: "false"
ARTIFACT_EXPIRE: "7"
SOURCESDK_MINIMAL: "RaphaelIT7/sourcesdk-minimal"
SOURCESDK_MINIMAL_BRANCH: "patch-7"
SOURCESDK_MINIMAL_64XBRANCH: "x86-64-patch-3"
GARRYSMOD_COMMON: "RaphaelIT7/garrysmod_common"
BUILD_CACHE: "true"
UPLOAD_PDB: "true"
build_plugin_linux:
name: "Build Plugin"
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
with:
PROJECT_NAME: "holylib"
BUILD_64x: "true"
REALM: "sv"
LINUX_FILEEXTENTION: "so"
BUILD_WINDOWS: "false"
ARTIFACT_EXPIRE: "7"
SOURCESDK_MINIMAL: "RaphaelIT7/sourcesdk-minimal"
SOURCESDK_MINIMAL_BRANCH: "patch-7"
SOURCESDK_MINIMAL_64XBRANCH: "x86-64-patch-3"
GARRYSMOD_COMMON: "RaphaelIT7/garrysmod_common"
BUILD_CACHE: "true"
build_testingarea:
name: "Build 32x (Testing Area - Dev)"
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') }}
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
secrets:
PTERODACTYL_KEY: ${{ secrets.PTERODACTYL_KEY }}
PTERODACTYL_SERVER: ${{ secrets.PTERODACTYL_SERVER }}
PTERODACTYL_URL: ${{ secrets.PTERODACTYL_URL }}
with:
PROJECT_NAME: "holylib"
BUILD_64x: "false"
REALM: "sv"
LINUX_FILEEXTENTION: "so"
BUILD_WINDOWS: "false"
UPLOAD: "pterodactyl"
SOURCESDK_MINIMAL: "RaphaelIT7/sourcesdk-minimal"
SOURCESDK_MINIMAL_BRANCH: "patch-7"
SOURCESDK_MINIMAL_64XBRANCH: "x86-64-patch-3"
GARRYSMOD_COMMON: "RaphaelIT7/garrysmod_common"
PTERODACTYL_RESTART_SLEEPTIME: "0"
PTERODACTYL_RESTART: "true"
BUILD_CACHE: "true"
build_testingarea_dev2: # Could make this use the already created artifact but I'm too lazy rn
name: "Build 32x (Testing Area - Public)"
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') }}
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
secrets:
PTERODACTYL_KEY: ${{ secrets.PTERODACTYL_KEY }}
PTERODACTYL_SERVER: ${{ secrets.PTERODACTYL_SERVER_PUBLIC }}
PTERODACTYL_URL: ${{ secrets.PTERODACTYL_URL }}
with:
PROJECT_NAME: "holylib"
BUILD_64x: "false"
REALM: "sv"
LINUX_FILEEXTENTION: "so"
BUILD_WINDOWS: "false"
UPLOAD: "pterodactyl"
SOURCESDK_MINIMAL: "RaphaelIT7/sourcesdk-minimal"
SOURCESDK_MINIMAL_BRANCH: "patch-7"
SOURCESDK_MINIMAL_64XBRANCH: "x86-64-patch-3"
GARRYSMOD_COMMON: "RaphaelIT7/garrysmod_common"
PTERODACTYL_RESTART_SLEEPTIME: "0"
PTERODACTYL_RESTART: "true"
BUILD_CACHE: "true"
build_testingarea_64x:
name: "Build 64x (Testing Area - 64x)"
if: ${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') }}
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
secrets:
PTERODACTYL_KEY: ${{ secrets.PTERODACTYL_KEY }}
PTERODACTYL_SERVER: ${{ secrets.PTERODACTYL_SERVER_X64 }}
PTERODACTYL_URL: ${{ secrets.PTERODACTYL_URL }}
with:
PROJECT_NAME: "holylib"
BUILD_64x: "true"
BUILD_32x: "false"
REALM: "sv"
LINUX_FILEEXTENTION: "so"
BUILD_WINDOWS: "false"
UPLOAD: "pterodactyl"
SOURCESDK_MINIMAL: "RaphaelIT7/sourcesdk-minimal"
SOURCESDK_MINIMAL_BRANCH: "patch-7"
SOURCESDK_MINIMAL_64XBRANCH: "x86-64-patch-3"
GARRYSMOD_COMMON: "RaphaelIT7/garrysmod_common"
PTERODACTYL_RESTART_SLEEPTIME: "0"
PTERODACTYL_RESTART: "true"
BUILD_CACHE: "true"
build_ghostinj:
name: "Build GhostInj"
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
with:
PROJECT_PATH: "ghostinj-dll/"
PROJECT_NAME: "ghostinj"
BUILD_64x: "true"
LINUX_FILEEXTENTION: "dll"
BUILD_WINDOWS: "false"
USE_PREFIX: "false"
ARTIFACT_EXPIRE: "1"
SOURCESDK_MINIMAL: "RaphaelIT7/sourcesdk-minimal"
SOURCESDK_MINIMAL_BRANCH: "patch-7"
SOURCESDK_MINIMAL_64XBRANCH: "x86-64-patch-3"
GARRYSMOD_COMMON: "RaphaelIT7/garrysmod_common"
BUILD_CACHE: "true"
setup_artifacts: # Having this as a matrix won't hurt concurrency since both 32x & 64x finish around the same time
name: "Setup ${{ matrix.arch }} Artifact"
needs: [build_plugin_linux, build_ghostinj]
runs-on: ubuntu-latest
container: debian:bullseye
strategy:
matrix:
include:
- arch: 32x
plugin: gmsv_holylib_linux.so
plugin_artifact: gmsv_holylib_linux.so
vdf: holylib.vdf
ghostinj: ghostinj.dll
ghostinj_artifact: ghostinj.dll
- arch: 64x
plugin: gmsv_holylib_linux64.so
plugin_artifact: gmsv_holylib_linux64.so (64x)
vdf: holylib_64.vdf
ghostinj: ghostinj.dll
ghostinj_artifact: ghostinj.dll (64x)
steps:
- uses: actions/checkout@v4
name: "Checkout required files"
with:
sparse-checkout: |
${{ matrix.vdf }}
gluatests
- uses: actions/download-artifact@v4
name: "Download plugin"
with:
name: "${{ matrix.plugin_artifact }}"
- uses: actions/download-artifact@v4
name: "Download ghostinj"
with:
name: "${{ matrix.ghostinj_artifact }}"
- name: "Create structure"
run: |
mkdir -p garrysmod/lua/bin
mv ${{ matrix.plugin }} garrysmod/lua/bin/
mkdir -p garrysmod/addons
mv ${{ matrix.vdf }} garrysmod/addons
mv gluatests/binaries/*.dll garrysmod/lua/bin/
mv gluatests garrysmod/addons
tar -czf gluatest.tar.gz ${{ matrix.ghostinj }} garrysmod/
tar -czf gluatest_no_ghostinj.tar.gz garrysmod/
- uses: actions/upload-artifact@v4
name: "Upload tar"
with:
name: gluatest_${{ matrix.arch }}
path: gluatest.tar.gz
compression-level: 9
retention-days: 1
- uses: actions/upload-artifact@v4
name: "Upload tar"
with:
name: gluatest_no_ghostinj_${{ matrix.arch }}
path: gluatest_no_ghostinj.tar.gz
compression-level: 9
retention-days: 1
test_32bit:
name: "Test 32x branches"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
extra-startup-args: "-usegh"
download-artifact: "gluatest_32x"
no-checkout: "true"
branch: ${{ matrix.branch }}
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_32bit_noghostinj:
name: "Test 32x branches (No GhostInj)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
download-artifact: "gluatest_no_ghostinj_32x"
no-checkout: "true"
branch: ${{ matrix.branch }}
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_64bit:
name: "Test x86-64 branch"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
extra-startup-args: "-usegh"
download-artifact: "gluatest_64x"
no-checkout: "true"
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_64bit_noghostinj:
name: "Test x86-64 branch (No GhostInj)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
download-artifact: "gluatest_no_ghostinj_64x"
no-checkout: "true"
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_32x_holylua:
name: "Test 32x branches (HolyLua)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
extra-startup-args: "-usegh -holylib_lua +holylib_module_debug 0"
download-artifact: "gluatest_32x"
no-checkout: "true"
branch: ${{ matrix.branch }}
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_32x_holylua_noghostinj:
name: "Test 32x branches (HolyLua, No GhostInj)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
extra-startup-args: "-holylib_lua +holylib_module_debug 0"
download-artifact: "gluatest_no_ghostinj_32x"
no-checkout: "true"
branch: ${{ matrix.branch }}
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_64bit_holylua:
name: "Test x86-64 branch (HolyLua)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
extra-startup-args: "-usegh -holylib_lua +holylib_module_debug 0"
download-artifact: "gluatest_64x"
no-checkout: "true"
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_64bit_holylua_noghostinj:
name: "Test x86-64 branch (HolyLua, No GhostInj)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
extra-startup-args: "-holylib_lua +holylib_module_debug 0"
download-artifact: "gluatest_no_ghostinj_64x"
no-checkout: "true"
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_32x_luajit:
name: "Test 32x branches (LuaJIT)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
extra-startup-args: "-usegh -holylib_enable_luajit 1 +holylib_module_debug 0"
download-artifact: "gluatest_32x"
no-checkout: "true"
branch: ${{ matrix.branch }}
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
test_64bit_luajit:
name: "Test x86-64 branch (LuaJIT)"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
extra-startup-args: "-usegh -holylib_enable_luajit 1 +holylib_module_debug 0"
download-artifact: "gluatest_64x"
no-checkout: "true"
secrets:
secret-additional-setup: "mkdir -p garrysmod/ && echo ${{ secrets.LOKI_HOST }} > garrysmod/loki_host.txt && echo ${{ secrets.LOKI_APIKEY }} > garrysmod/loki_api.txt && tar -czf gluatest/docker/_gluatest_artifacts/gm_secrets.tar.gz -C . garrysmod && rm -r garrysmod"
# -------
# HolyLib Build summary DLL jobs
# -------
generate_test_summary:
name: "Generate Summary"
needs: [test_32bit, test_32bit_noghostinj, test_64bit, test_64bit_noghostinj, test_32x_holylua, test_32x_holylua_noghostinj, test_64bit_holylua, test_64bit_holylua_noghostinj, test_32x_luajit, test_64bit_luajit]
runs-on: ubuntu-latest
container: raphaelit7/gmod-builder:latest_64x
steps:
- uses: actions/checkout@v4
name: "Checkout build tool files"
with:
sparse-checkout: source/_prebuildtools
- name: "Generate Summary"
run: |
cd source/_prebuildtools
chmod +x luajit_64
./luajit_64 _workflow_summary.lua "${{secrets.LOKI_HOST}}" "${{secrets.LOKI_APIKEY}}" "${{github.run_number}}"
echo "$(cat generated_summary.md)" > $GITHUB_STEP_SUMMARY
# --------------------
# HolyLib - gmod_tests
# We run gmod_tests repo to ensure that we didn't break any gmod functions unknowingly.
# --------------------
setup_gmod_tests_artifacts:
name: "Setup gmod_tests ${{ matrix.arch }} Artifact"
needs: setup_artifacts
runs-on: ubuntu-latest
container: debian:bullseye
strategy:
matrix:
arch: [32x, 64x]
steps:
- uses: actions/checkout@v4
name: "Checkout gmod_tests repo"
with:
sparse-checkout: lua
repository: 'RaphaelIT7/gmod_tests'
path: 'gmod_tests'
- uses: actions/download-artifact@v4
name: "Download ${{ matrix.arch }} artifact"
with:
name: "gluatest_${{ matrix.arch }}"
- name: "Setup structure"
run: |
mkdir -p garrysmod/lua/bin
mkdir -p garrysmod/addons
tar -xzf gluatest.tar.gz
mv gmod_tests garrysmod/addons
mv ghostinj.dll ghostinj2.dll
mkdir -p garrysmod/lua/bin/gmod_tests/maps
mv garrysmod/addons/gluatests/maps garrysmod/addons/gmod_tests/maps
rm -rf garrysmod/addons/gluatests
tar -czf gmod_tests.tar.gz ghostinj2.dll garrysmod/
tar -czf gmod_tests_no_ghostinj.tar.gz garrysmod/
- uses: actions/upload-artifact@v4
name: "Upload tar"
with:
name: gmod_tests_${{ matrix.arch }}
path: gmod_tests.tar.gz
compression-level: 9
retention-days: 1
- uses: actions/upload-artifact@v4
name: "Upload tar"
with:
name: gmod_tests_no_ghostinj_${{ matrix.arch }}
path: gmod_tests_no_ghostinj.tar.gz
compression-level: 9
retention-days: 1
test_gmod_tests_32bit:
name: "Test 32x branches (gmod_tests)"
needs: setup_gmod_tests_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
artifact:
- gmod_tests_32x
- gmod_tests_no_ghostinj_32x
with:
branch: ${{ matrix.branch }}
extra-startup-args: "-usegh -maxplayers 64"
download-artifact: ${{ matrix.artifact }}
no-checkout: "true"
additional-setup: "wget -q https://github.com/RaphaelIT7/gmod-holytest/releases/latest/download/linux32.tar.gz -O gluatest/docker/_gluatest_artifacts/linux32.tar.gz"
map: gm_glua_tests
test_gmod_tests_64bit:
name: "Test x86-64 branch (gmod_tests)"
needs: setup_gmod_tests_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
artifact:
- gmod_tests_64x
- gmod_tests_no_ghostinj_64x
with:
branch: x86-64
extra-startup-args: "-usegh -maxplayers 64"
download-artifact: ${{ matrix.artifact }}
no-checkout: "true"
additional-setup: "wget -q https://github.com/RaphaelIT7/gmod-holytest/releases/latest/download/linux64.tar.gz -O gluatest/docker/_gluatest_artifacts/linux64.tar.gz"
map: gm_glua_tests
test_gmod_tests_32bit_with_ivpreplacement:
name: "Test 32x branches (gmod_tests & VPhysics replacement)"
needs: setup_gmod_tests_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
artifact:
- gmod_tests_32x
- gmod_tests_no_ghostinj_32x
with:
branch: ${{ matrix.branch }}
extra-startup-args: "-usegh -maxplayers 64 -holylib_replaceivp"
download-artifact: ${{ matrix.artifact }}
no-checkout: "true"
additional-setup: "wget -q https://github.com/RaphaelIT7/gmod-holytest/releases/latest/download/linux32.tar.gz -O gluatest/docker/_gluatest_artifacts/linux32.tar.gz"
map: gm_glua_tests
test_gmod_tests_64bit_with_ivpreplacement:
name: "Test x86-64 branch (gmod_tests & VPhysics replacement)"
needs: setup_gmod_tests_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
artifact:
- gmod_tests_64x
- gmod_tests_no_ghostinj_64x
with:
branch: x86-64
extra-startup-args: "-usegh -maxplayers 64 -holylib_replaceivp"
download-artifact: ${{ matrix.artifact }}
no-checkout: "true"
additional-setup: "wget -q https://github.com/RaphaelIT7/gmod-holytest/releases/latest/download/linux64.tar.gz -O gluatest/docker/_gluatest_artifacts/linux64.tar.gz"
map: gm_glua_tests
test_32bit_find_crash:
if: false # always() Enable it if a unknown crash is happening. We'll test every single module.
name: "Find the crash cause"
needs: setup_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
fail-fast: false
matrix:
module:
- holylib
- gameevent
- serverplugin
- sourcetv
- threadpoolfix
- stringtable
- precachefix
- pvs
- surffix
- filesystem
- util
- concommand
- vprof
- cvars
- bitbuf
- networking
- steamworks
- pas
- bass
- systimer
- voicechat
- physenv
- net
- entitylist
- httpserver
- gameserver
- soundscape
- luajit
with:
branch: dev
extra-startup-args: "-usegh -holylib_startdisabled -holylib_enable_${{ matrix.module }} 1"
download-artifact: "gluatest_32x"
no-checkout: "true"
# -------
# HolyLib Example DLL jobs
# -------
build_exampledll_linux:
name: "Build Plugin"
uses: RaphaelIT7/gmod-common-module-base/.github/workflows/compile.yml@workflow
with:
PROJECT_PATH: "example-module-dll/"
PROJECT_NAME: "exampledll"
BUILD_64x: "true"
REALM: "sv"
BUILD_WINDOWS: "false"
ARTIFACT_EXPIRE: "1"
BUILD_CACHE: "true"
setup_exampledll_artifacts:
name: "Setup exampledll ${{ matrix.arch }} Artifact"
needs: [setup_artifacts, build_exampledll_linux]
runs-on: ubuntu-latest
container: debian:bullseye
strategy:
matrix:
include:
- arch: 32x
dll: gmsv_exampledll_linux.dll
dll_artifact: gmsv_exampledll_linux.dll
- arch: 64x
dll: gmsv_exampledll_linux64.dll
dll_artifact: gmsv_exampledll_linux64.dll (64x)
steps:
- uses: actions/download-artifact@v4
name: "Download ${{ matrix.arch }} artifact"
with:
name: "gluatest_${{ matrix.arch }}"
- uses: actions/download-artifact@v4
name: "Download module"
with:
name: "${{ matrix.dll_artifact }}"
- name: "Setup structure"
run: |
mkdir -p garrysmod/lua/bin
mkdir -p garrysmod/addons
mkdir -p garrysmod/holylib/cfg/
mv ${{ matrix.dll }} garrysmod/lua/bin/
cat <<EOF > garrysmod/holylib/cfg/dlls.json
[
{
"path": "garrysmod/lua/bin/${{ matrix.dll }}",
"name": "ExampleDLL"
}
]
EOF
tar -xzf gluatest.tar.gz
tar -czf gluatest_exampledll.tar.gz ghostinj.dll garrysmod/
tar -czf gluatest_exampledll_no_ghostinj.tar.gz garrysmod/
- uses: actions/upload-artifact@v4
name: "Upload tar"
with:
name: gluatest_exampledll_${{ matrix.arch }}
path: gluatest_exampledll.tar.gz
compression-level: 9
retention-days: 1
- uses: actions/upload-artifact@v4
name: "Upload tar"
with:
name: gluatest_exampledll_no_ghostinj_${{ matrix.arch }}
path: gluatest_exampledll_no_ghostinj.tar.gz
compression-level: 9
retention-days: 1
test_exampledll_32bit:
name: "Test ExampleDLL 32x branches"
needs: setup_exampledll_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
branch: ${{ matrix.branch }}
extra-startup-args: "-usegh"
download-artifact: "gluatest_exampledll_32x"
no-checkout: "true"
test_exampledll_32bit_noghostinj:
name: "Test ExampleDLL 32x branches (No GhostInj)"
needs: setup_exampledll_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
strategy:
matrix:
branch:
- public
- dev
- prerelease
with:
branch: ${{ matrix.branch }}
download-artifact: "gluatest_exampledll_no_ghostinj_32x"
no-checkout: "true"
test_exampledll_64bit:
name: "Test ExampleDLL x86-64 branch"
needs: setup_exampledll_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
extra-startup-args: "-usegh"
download-artifact: "gluatest_exampledll_64x"
no-checkout: "true"
test_exampledll_64bit_noghostinj:
name: "Test ExampleDLL x86-64 branch (No GhostInj)"
needs: setup_exampledll_artifacts
uses: RaphaelIT7/GLuaTest/.github/workflows/run_tests.yml@holylib_v2
with:
branch: x86-64
download-artifact: "gluatest_exampledll_no_ghostinj_64x"
no-checkout: "true"