1 Commits
Author SHA1 Message Date
maxime1907 09f84da524 chore(ci): use new ambuild action 2025-03-09 12:50:43 +01:00
2 changed files with 85 additions and 20 deletions
+75 -5
View File
@@ -1,4 +1,4 @@
name: Build AlliedModders Extension name: Build AlliedModders extension
on: on:
push: push:
@@ -13,7 +13,77 @@ on:
- main - main
jobs: jobs:
build-release-extension: build:
uses: srcdslab/ci-workflows/.github/workflows/shared_build_release_am_extension.yml@v1 strategy:
with: matrix:
sdks: "css" os:
- ubuntu-20.04
- windows-2022
include:
- os: ubuntu-20.04
cc: clang-10
cxx: clang++-10
- os: windows-2022
cc: msvc
cxx: msvc
fail-fast: false
name: ${{ matrix.os }} - ${{ matrix.cc }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build extension
uses: srcdslab/action-ambuild@v1
id: ambuild
with:
os: ${{ matrix.os }}
cc: ${{ matrix.cc }}
cxx: ${{ matrix.cxx }}
ambuild-ref: 'master'
mm-ref: '1.12-dev'
sm-ref: '1.12-dev'
hl2sdk-manifests-ref: 'master'
sdks: 'css'
configure-path: '../sm-ext-common/configure.py'
configure-additional-flags: '--enable-optimize --enable-auto-versioning --ext-root "../"'
- name: Upload package
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}
path: ${{ steps.ambuild.outputs.package-path }}
if-no-files-found: error
retention-days: 14
release:
name: Github release
if: startsWith(github.ref, 'refs/tags/')
needs: build
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: ./gh-artifacts
- name: Package artifacts
working-directory: gh-artifacts
run: |
version=`echo $GITHUB_REF | sed "s/refs\/tags\///"`
for platform in *; do
if [ -d "./$platform/" ]; then
cd "./$platform/"
tar -czf "../${{ github.event.repository.name }}-${platform,,}.tar.gz" -T <(ls -1)
cd -
fi
done
- name: Release packages
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: './gh-artifacts/*.tar.gz'
tag: ${{ github.ref }}
file_glob: true
+10 -15
View File
@@ -5,26 +5,21 @@ projectName = 'sendsnapshotfixer'
project = builder.LibraryProject(projectName) project = builder.LibraryProject(projectName)
project.sources += [ project.sources += [
os.path.join(Extension.ext_root, 'src', 'extension.cpp'), os.path.join(Extension.ext_root, 'src', 'extension.cpp'),
os.path.join(Extension.sm_root, 'public', 'smsdk_ext.cpp') os.path.join(Extension.sm_root, 'public', 'smsdk_ext.cpp')
] ]
for sdk_name in Extension.sdks: for sdk_name in Extension.sdks:
sdk = Extension.sdks[sdk_name] sdk = Extension.sdks[sdk_name]
if sdk['name'] in ['mock']: if sdk['name'] in ['mock']:
continue continue
for cxx in builder.targets: for cxx in builder.targets:
if not cxx.target.arch in sdk['platforms'][cxx.target.platform]: if not cxx.target.arch in sdk['platforms'][cxx.target.platform]:
continue continue
binary = Extension.HL2ExtConfig(project, builder, cxx, projectName + '.ext.' + sdk['extension'], sdk) binary = Extension.HL2ExtConfig(project, builder, cxx, projectName + '.ext.' + sdk['extension'], sdk)
Extension.AddCDetour(binary) Extension.AddCDetour(binary)
# Silence fatal errors on unrecognized Clang warning flags from CDetour
if cxx.family in ['gcc', 'clang']:
binary.compiler.cflags += ['-Wno-unknown-warning-option']
binary.compiler.cxxflags += ['-Wno-unknown-warning-option']
Extension.extensions += builder.Add(project) Extension.extensions += builder.Add(project)