diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 1b4dbfa..3fd081b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -10,17 +10,33 @@ env: CCACHE_BASEDIR: ${{ github.workspace }} jobs: - conan-package-template: + conan-packages: runs-on: ubuntu-latest timeout-minutes: 120 container: image: git.romainboullard.com/bigfootdev/linuxcppbuilder:${{ github.ref_name }} - defaults: - run: - shell: bash + 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: Setup Node - run: apt-get install -y nodejs + - name: Install Node.js + run: apt-get update && apt-get install -y nodejs npm - name: Checkout repository uses: actions/checkout@v6 @@ -32,138 +48,18 @@ jobs: - name: Run Conan packaging run: | - echo "Building $PACKAGE@$VERSION" + echo "Building ${{ matrix.package.name }}@${{ matrix.package.version }}" CONAN_LOGIN_USERNAME=${{ secrets.GITLAB_CONAN_USER }} \ CONAN_PASSWORD=${{ secrets.GITLAB_CONAN_PASSWORD }} \ - conan create ./$PACKAGE/$LOCATION --version=$VERSION -pr:b=./clang -pr:h=./clang --build=missing --remote=bigfootpackages + conan create ./${{ matrix.package.name }}/${{ matrix.package.location }} \ + --version=${{ matrix.package.version }} \ + -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 $PACKAGE/$VERSION@ --only-recipe --remote=bigfootpackages + conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@ \ + --only-recipe --remote=bigfootpackages - name: Show ccache stats after run: ccache --show-stats - - # --- Individual Package Jobs --- - - PackageEABase: - name: Package EA Base - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'eabase' - VERSION: '01082025' - LOCATION: 'all' - - PackageEASTL: - name: Package EASTL - needs: PackageEABase - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'eastl' - VERSION: '3.27.01' - LOCATION: 'all' - - PackagePixelMatch: - name: Package PixelMatch - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'pixelmatch-cpp17' - VERSION: '1.0.3' - - PackageLodePNG: - name: Package LodePNG - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'lodepng' - VERSION: 'cci.20250727' - - PackageStduuid: - name: Package stduuid - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'stduuid' - VERSION: '1.2.3' - - PackageFlatbuffers: - name: Package Flatbuffers - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'flatbuffers' - VERSION: '25.12.19' - - PackageVulkanMemoryAllocator: - name: Package VulkanMemoryAllocator - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'vulkan-memory-allocator' - VERSION: '3.3.0' - - PackageVulkanUtilityLibraries: - name: Package VulkanUtilityLibraries - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'vulkan-utility-libraries' - VERSION: '1.4.313.0' - - PackageVulkanValidationLayers: - name: Package VulkanValidationLayers - needs: PackageVulkanUtilityLibraries - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'vulkan-validationlayers' - VERSION: '1.4.313.0' - - PackageShaderC: - name: Package ShaderC - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'shaderc' - VERSION: '2025.3' - - PackageUnorderedDense: - name: Package UnorderedDense - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'unordered_dense' - VERSION: '4.8.1' - - PackageMimalloc: - name: Package Mimalloc - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'mimalloc' - VERSION: '3.1.5' - - PackageMeshOptimizer: - name: Package MeshOptimizer - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'meshoptimizer' - VERSION: '1.0' - - PackageSQLite3: - name: Package SQLite3 - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'sqlite3' - VERSION: '3.51.0' - - PackageRapidHash: - name: Package RapidHash - needs: [] - uses: ./.github/workflows/conan-package-template.yml - with: - PACKAGE: 'rapidhash' - VERSION: '3.0'