name: Conan Packaging on: push: branches: - '**' workflow_dispatch: env: CCACHE_DIR: /ccache CCACHE_MAXSIZE: 10G CCACHE_BASEDIR: /root/.conan2 CCACHE_NOHASHDIR: "true" CCACHE_COMPILERCHECK: "%compiler% -dumpversion" jobs: conan-packages-tier1: runs-on: ubuntu-latest timeout-minutes: 120 container: image: git.romainboullard.com/bigfootdev/linuxcppbuilder:main env: ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} strategy: matrix: package: [ { name: "eabase", version: "01082025", location: "all" }, { name: "vulkan-headers", version: "1.4.341.0", location: "all" }, { name: "spirv-headers", version: "1.4.341.0", location: "all" }, { name: "spirv-cross", version: "1.4.341.0", location: "all" }, { name: "pixelmatch-cpp17", version: "1.0.3", location: "all" }, { name: "lodepng", version: "cci.20260210", location: "all" }, { name: "stduuid", version: "1.2.3", location: "all" }, { name: "flatbuffers", version: "25.12.19", location: "all" }, { name: "unordered_dense", version: "4.8.1", location: "all" }, { name: "mimalloc", version: "3.2.8", location: "all" }, { name: "meshoptimizer", version: "1.0", location: "all" }, { name: "sqlite3", version: "3.51.2", location: "all" }, { name: "rapidhash", version: "3.0", location: "all" }, { name: "cli11", version: "2.6.1", location: "all" }, { name: "assimp", version: "6.0.4", location: "5.x" }, { name: "imgui", version: "1.92.6-docking", location: "all" }, ] name: "Package ${{matrix.package.name }}/${{ matrix.package.version }}" 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: Run Conan packaging run: | echo "Building ${{ matrix.package.name }}@${{ matrix.package.version }}" CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan create ./${{ matrix.package.name }}/${{ matrix.package.location }} \ --version=${{ matrix.package.version }} \ --user=bigfootdev \ --channel=${{ env.BRANCH_NAME }} \ -pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \ --build=* --remote=bigfootpackages CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \ --only-recipe --remote=bigfootpackages conan-packages-tier2: needs: conan-packages-tier1 runs-on: ubuntu-latest timeout-minutes: 120 container: image: git.romainboullard.com/bigfootdev/linuxcppbuilder:main env: ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} strategy: matrix: package: [ { name: "eastl", version: "3.27.01", location: "all", needs_pkg: "eabase" }, { name: "vulkan-utility-libraries", version: "1.4.341.0", location: "all" }, { name: "spirv-tools", version: "1.4.341.0", location: "all" }, { name: "vulkan-memory-allocator", version: "3.3.0", location: "all" }, ] name: "Package ${{matrix.package.name }}/${{ matrix.package.version }}" 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: Run Conan packaging run: | echo "Building ${{ matrix.package.name }}@${{ matrix.package.version }}" CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan create ./${{ matrix.package.name }}/${{ matrix.package.location }} \ --version=${{ matrix.package.version }} \ --user=bigfootdev \ --channel=${{ env.BRANCH_NAME }} \ -pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \ --build=* --remote=bigfootpackages CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \ --only-recipe --remote=bigfootpackages conan-packages-tier3: needs: conan-packages-tier2 runs-on: ubuntu-latest timeout-minutes: 120 container: image: git.romainboullard.com/bigfootdev/linuxcppbuilder:main env: ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} strategy: matrix: package: [ { name: "glslang", version: "1.4.341.0", location: "all" }, { name: "vulkan-validationlayers", version: "1.4.341.0", location: "all" }, ] name: "Package ${{matrix.package.name }}/${{ matrix.package.version }}" 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: Run Conan packaging run: | echo "Building ${{ matrix.package.name }}@${{ matrix.package.version }}" CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan create ./${{ matrix.package.name }}/${{ matrix.package.location }} \ --version=${{ matrix.package.version }} \ --user=bigfootdev \ --channel=${{ env.BRANCH_NAME }} \ -pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \ --build=* --remote=bigfootpackages CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \ --only-recipe --remote=bigfootpackages conan-packages-tier4: needs: conan-packages-tier3 runs-on: ubuntu-latest timeout-minutes: 120 container: image: git.romainboullard.com/bigfootdev/linuxcppbuilder:main env: ARTIFACTORY_USER: ${{ secrets.ARTIFACTORY_USER }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} strategy: matrix: package: [ { name: "shaderc", version: "2026.1", location: "all" }, ] name: "Package ${{matrix.package.name }}/${{ matrix.package.version }}" 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: Run Conan packaging run: | echo "Building ${{ matrix.package.name }}@${{ matrix.package.version }}" CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan create ./${{ matrix.package.name }}/${{ matrix.package.location }} \ --version=${{ matrix.package.version }} \ --user=bigfootdev \ --channel=${{ env.BRANCH_NAME }} \ -pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \ --build=* --remote=bigfootpackages CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \ CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \ conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \ --only-recipe --remote=bigfootpackages