CI #4
70
.gitea/workflows/ci.yml
Normal file
70
.gitea/workflows/ci.yml
Normal 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
|
||||
123
.gitlab-ci.yml
123
.gitlab-ci.yml
@@ -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'
|
||||
@@ -74,7 +74,7 @@ class EastlConan(ConanFile):
|
||||
|
||||
def requirements(self):
|
||||
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":
|
||||
self.requires("eabase/18082024", transitive_headers=True)
|
||||
else:
|
||||
|
||||
@@ -103,7 +103,7 @@ class VulkanValidationLayersConan(ConanFile):
|
||||
self.requires("robin-hood-hashing/3.11.5")
|
||||
self.requires(self._require("spirv-headers"))
|
||||
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":
|
||||
# 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"))
|
||||
|
||||
Reference in New Issue
Block a user