CI #4

Merged
rboullard merged 6 commits from Development into main 2026-01-28 16:37:07 +00:00
4 changed files with 72 additions and 125 deletions
Showing only changes of commit 534384356e - Show all commits

70
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,70 @@
name: Conan Packaging
on:
push:
branches:
- '**'
workflow_dispatch:
env:
CCACHE_BASEDIR: ${{ github.workspace }}
jobs:
conan-packages:
runs-on: ubuntu-latest
timeout-minutes: 120
container:
image: git.romainboullard.com/bigfootdev/linuxcppbuilder:${{ github.ref_name }}
strategy:
matrix:
package: [
{ name: "eabase", version: "01082025", location: "all", needs_pkg: "" },
{ name: "eastl", version: "3.27.01", location: "all", needs_pkg: "eabase" },
{ name: "pixelmatch-cpp17", version: "1.0.3", location: "all", needs_pkg: "" },
{ name: "lodepng", version: "cci.20250727", location: "all", needs_pkg: "" },
{ name: "stduuid", version: "1.2.3", location: "all", needs_pkg: "" },
{ name: "flatbuffers", version: "25.12.19", location: "all", needs_pkg: "" },
{ name: "vulkan-memory-allocator", version: "3.3.0", location: "all", needs_pkg: "" },
{ name: "vulkan-utility-libraries", version: "1.4.313.0", location: "all", needs_pkg: "" },
{ name: "vulkan-validationlayers", version: "1.4.313.0", location: "all", needs_pkg: "vulkan-utility-libraries" },
{ name: "shaderc", version: "2025.3", location: "all", needs_pkg: "" },
{ name: "unordered_dense", version: "4.8.1", location: "all", needs_pkg: "" },
{ name: "mimalloc", version: "3.1.5", location: "all", needs_pkg: "" },
{ name: "meshoptimizer", version: "1.0", location: "all", needs_pkg: "" },
{ name: "sqlite3", version: "3.51.0", location: "all", needs_pkg: "" },
{ name: "rapidhash", version: "3.0", location: "all", needs_pkg: "" }
]
steps:
- name: Set BRANCH_NAME
run: echo "BRANCH_NAME=$(echo $GITHUB_REF_NAME | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Install Node.js
run: apt-get update && apt-get install -y nodejs
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: recursive
- name: Show ccache stats before
run: ccache --zero-stats
- name: Run Conan packaging
run: |
echo "Building ${{ matrix.package.name }}@${{ matrix.package.version }}"
CONAN_LOGIN_USERNAME=${{ secrets.GITLAB_CONAN_USER }} \
CONAN_PASSWORD=${{ secrets.GITLAB_CONAN_PASSWORD }} \
conan create ./${{ matrix.package.name }}/${{ matrix.package.location }} \
--version=${{ matrix.package.version }} \
--user=bigfootdev \
--channel=${{ env.BRANCH_NAME }} \
-pr:b=./clang -pr:h=./clang \
--build=missing --remote=bigfootpackages
CONAN_LOGIN_USERNAME=${{ secrets.GITLAB_CONAN_USER }} \
CONAN_PASSWORD=${{ secrets.GITLAB_CONAN_PASSWORD }} \
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
--only-recipe --remote=bigfootpackages
- name: Show ccache stats after
run: ccache --show-stats

View File

@@ -1,123 +0,0 @@
variables:
GIT_SUBMODULE_STRATEGY: recursive
stages:
- packaging
.Packaging:
variables:
PACKAGE: 'Unknown'
VERSION: 'Unknown'
LOCATION: 'all'
CCACHE_BASEDIR: $CI_PROJECT_DIR
image: registry.gitlab.com/bigfootdev/docker/linuxcppbuilder:main
stage: packaging
before_script:
- ccache --zero-stats
script:
- CONAN_LOGIN_USERNAME=${GITLAB_CONAN_USER} CONAN_PASSWORD=${GITLAB_CONAN_PASSWORD} conan create ./$PACKAGE/$LOCATION --version=$VERSION -pr:b=./clang -pr:h=./clang --build=missing --remote=bigfootpackages
- CONAN_LOGIN_USERNAME=${GITLAB_CONAN_USER} CONAN_PASSWORD=${GITLAB_CONAN_PASSWORD} conan upload $PACKAGE/$VERSION@ --only-recipe --remote=bigfootpackages
after_script:
- ccache --show-stats
dependencies: []
tags:
- linux
- c++
- bigfootdev
only:
variables:
- $CI_COMMIT_REF_PROTECTED
PackageEABase:
extends: .Packaging
variables:
PACKAGE: 'eabase'
VERSION: '01082025'
PackageEASTL:
extends: .Packaging
variables:
PACKAGE: 'eastl'
VERSION: '3.27.01'
needs:
- PackageEABase
PackagePixelMatch:
extends: .Packaging
variables:
PACKAGE: 'pixelmatch-cpp17'
VERSION: '1.0.3'
PackageLodePNG:
extends: .Packaging
variables:
PACKAGE: 'lodepng'
VERSION: 'cci.20250727'
PackageStduuid:
extends: .Packaging
variables:
PACKAGE: 'stduuid'
VERSION: '1.2.3'
PackageFlatbuffers:
extends: .Packaging
variables:
PACKAGE: 'flatbuffers'
VERSION: '25.12.19'
PackageVulkanMemoryAllocator:
extends: .Packaging
variables:
PACKAGE: 'vulkan-memory-allocator'
VERSION: '3.3.0'
PackageVulkanUtilityLibraries:
extends: .Packaging
variables:
PACKAGE: 'vulkan-utility-libraries'
VERSION: '1.4.313.0'
PackageVulkanValidationLayers:
extends: .Packaging
variables:
PACKAGE: 'vulkan-validationlayers'
VERSION: '1.4.313.0'
needs:
- PackageVulkanUtilityLibraries
PackageShaderC:
extends: .Packaging
variables:
PACKAGE: 'shaderc'
VERSION: '2025.3'
PackageUnorderedDense:
extends: .Packaging
variables:
PACKAGE: 'unordered_dense'
VERSION: '4.8.1'
PackageMimalloc:
extends: .Packaging
variables:
PACKAGE: 'mimalloc'
VERSION: '3.1.5'
PackageMeshOptimizer:
extends: .Packaging
variables:
PACKAGE: 'meshoptimizer'
VERSION: '1.0'
PackageSQLite3:
extends: .Packaging
variables:
PACKAGE: 'sqlite3'
VERSION: '3.51.0'
PackageRapidHash:
extends: .Packaging
variables:
PACKAGE: 'rapidhash'
VERSION: '3.0'

View File

@@ -74,7 +74,7 @@ class EastlConan(ConanFile):
def requirements(self): def requirements(self):
if self.version >= "3.27.00": if self.version >= "3.27.00":
self.requires("eabase/01082025", transitive_headers=True) self.requires(f"eabase/01082025@{self.user}/{self.channel}", transitive_headers=True)
elif self.version == "3.21.23": elif self.version == "3.21.23":
self.requires("eabase/18082024", transitive_headers=True) self.requires("eabase/18082024", transitive_headers=True)
else: else:

View File

@@ -103,7 +103,7 @@ class VulkanValidationLayersConan(ConanFile):
self.requires("robin-hood-hashing/3.11.5") self.requires("robin-hood-hashing/3.11.5")
self.requires(self._require("spirv-headers")) self.requires(self._require("spirv-headers"))
if Version(conan_version).minor >= "1.4.313": if Version(conan_version).minor >= "1.4.313":
self.requires(self._require("vulkan-utility-libraries"), transitive_headers=True) self.requires(f"{self._require("vulkan-utility-libraries")}@{self.user}/{self.channel}", transitive_headers=True)
if Version(conan_version).major < "2": if Version(conan_version).major < "2":
# TODO: set private=True, once the issue is resolved https://github.com/conan-io/conan/issues/9390 # TODO: set private=True, once the issue is resolved https://github.com/conan-io/conan/issues/9390
self.requires(self._require("spirv-tools"), private=not hasattr(self, "settings_build")) self.requires(self._require("spirv-tools"), private=not hasattr(self, "settings_build"))