Skip to content

Dry-run upload to remote #14

Dry-run upload to remote

Dry-run upload to remote #14

Workflow file for this run

name: Debian
on:
push:
paths:
- .github/workflows/debian.yml
- recipes
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
env:
# Note that `conan user` implicitly uses the environment variables
# `CONAN_LOGIN_USERNAME_<REMOTE>` and `CONAN_PASSWORD_<REMOTE>`, see also
# https://docs.conan.io/2/reference/environment.html#remote-login-variables.
CONAN_REMOTE_URL: https://conan.ripplex.io
CONAN_REMOTE_NAME: xrplf
CONAN_LOGIN_USERNAME_XRPLF: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_XRPLF: ${{ secrets.CONAN_PASSWORD }}
CONAN_GLOBAL_CONF: |
core:non_interactive=True
core.download:parallel={{ os.cpu_count() }}
core.upload:parallel={{ os.cpu_count() }}
core:default_build_profile=default
core:default_profile=default
tools.build:verbosity=verbose
tools.compilation:verbosity=verbose
CONAN_DEFAULT_OPTIONS: >-
-o date/*:header_only=True
-o grpc/*:shared=False
-o grpc/*:secure=True
-o libarchive/*:shared=False
-o libarchive/*:with_acl=False
-o libarchive/*:with_bzip2=False
-o libarchive/*:with_cng=False
-o libarchive/*:with_expat=False
-o libarchive/*:with_iconv=False
-o libarchive/*:with_libxml2=False
-o libarchive/*:with_lz4=True
-o libarchive/*:with_lzma=False
-o libarchive/*:with_lzo=False
-o libarchive/*:with_nettle=False
-o libarchive/*:with_openssl=False
-o libarchive/*:with_pcreposix=False
-o libarchive/*:with_xattr=False
-o libarchive/*:with_zlib=False
-o lz4/*:shared=False
-o openssl/*:shared=False
-o protobuf/*:shared=False
-o protobuf/*:with_zlib=True
-o rocksdb/*:enable_sse=False
-o rocksdb/*:lite=False
-o rocksdb/*:shared=False
-o rocksdb/*:use_rtti=True
-o rocksdb/*:with_jemalloc=False
-o rocksdb/*:with_lz4=True
-o rocksdb/*:with_snappy=True
-o snappy/*:shared=False
-o soci/*:shared=False
-o soci/*:with_sqlite3=True
-o soci/*:with_boost=True
-o xxhash/*:shared=False
jobs:
build:
strategy:
matrix:
architecture:
- runner: ubuntu-24.04
# - runner: ubuntu-24.04-arm
docker:
- image: ghcr.io/xrplf/ci/debian-bookworm:gcc-12
# - image: ghcr.io/xrplf/ci/debian-bookworm:gcc-13
# - image: ghcr.io/xrplf/ci/debian-bookworm:gcc-14
# - image: ghcr.io/xrplf/ci/debian-bookworm:clang-16
# - image: ghcr.io/xrplf/ci/debian-bookworm:clang-17
# - image: ghcr.io/xrplf/ci/debian-bookworm:clang-18
# - image: ghcr.io/xrplf/ci/debian-bookworm:clang-19
# - image: ghcr.io/xrplf/ci/debian-bookworm:clang-20
build:
- type: Debug
# - type: Release
package:
- name: boost
version: 1.86.0
directory: all
- name: date
version: 3.0.4
directory: all
- name: doctest
version: 2.4.11
directory: 2.x.x
- name: grpc
version: 1.72.0
directory: all
- name: libarchive
version: 3.8.1
directory: all
- name: lz4
version: 1.10.0
directory: all
- name: nudb
version: 2.0.9
directory: all
- name: openssl
version: 1.1.1w
directory: 1.x.x
- name: protobuf
version: 6.30.1
directory: all
- name: rocksdb
version: 10.0.1
directory: all
- name: sqlite3
version: 3.49.1
directory: all
- name: xxhash
version: 0.83.0
directory: all
- name: zlib
version: 1.3.1
directory: all
runs-on: ${{ matrix.architecture.runner }}
container: ${{ matrix.docker.image }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Configure Conan
run: |
echo "${CONAN_GLOBAL_CONF}" >> $(conan config home)/global.conf
conan config install profiles/ -tf $(conan config home)/profiles/
- name: Add Conan remote
run: |
conan remote list
if conan remote list | grep -q '${{ env.CONAN_REMOTE_NAME }}'; then
conan remote remove ${{ env.CONAN_REMOTE_NAME }}
echo "Removed existing conan remote '${{ env.CONAN_REMOTE_NAME }}'."
fi
conan remote add --index 0 ${{ env.CONAN_REMOTE_NAME }} ${{ env.CONAN_REMOTE_URL }}
echo "Added new conan remote '${{ env.CONAN_REMOTE_NAME }}' at ${{ env.CONAN_REMOTE_URL }}."
- name: Verify Conan remote
run: |
conan remote auth ${{ env.CONAN_REMOTE_NAME }} --force
conan remote list-users
- name: Build the recipe
working-directory: recipes/${{ matrix.package.name }}/${{ matrix.package.directory }}
run: |
conan create . \
--version ${{ matrix.package.version }} \
--build=missing \
--settings:all=build_type=${{ matrix.build.type }} \
--update \
${{ env.CONAN_DEFAULT_OPTIONS }}
- name: Upload the recipe
run: |
conan upload '${{ matrix.package.name }}' \
--remote ${{ env.CONAN_REMOTE_NAME }} \
--confirm \
--dry-run