Skip to content

Commit d6def6c

Browse files
committed
conan 2
1 parent ead0e07 commit d6def6c

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,111 @@ jobs:
315315
filename: '.\nuget\*.nupkg'
316316
api-key: ${{ secrets.NUGET_DOT_ORG_API_KEY }}
317317
if: startsWith(github.ref, 'refs/tags/')
318+
##### conan - linux #####
319+
conan-linux:
320+
strategy:
321+
fail-fast: false
322+
matrix:
323+
include:
324+
- {os: debian, codename: bookworm, image_owner: }
325+
# - {os: debian, codename: bookworm, image_owner: i386/, labels: [i386,docker]}
326+
# - {os: debian, codename: bookworm, image_owner: arm32v7/, labels: [ubuntu-24.04-arm]}
327+
# - {os: debian, codename: bookworm, image_owner: arm64v8/, labels: [ubuntu-24.04-arm]}
328+
runs-on: ${{ (matrix.labels == '' && 'ubuntu-latest') || matrix.labels }}
329+
container: ${{ matrix.image_owner }}${{ matrix.os }}:${{ matrix.codename }}
330+
name: conan - linux | ${{ matrix.image_owner }}
331+
steps:
332+
- name: add llvm repo (for clang-format)
333+
uses: myci-actions/add-deb-repo@main
334+
with:
335+
repo: deb http://apt.llvm.org/${{ matrix.codename }} llvm-toolchain-${{ matrix.codename }} main
336+
repo-name: llvm
337+
keys-asc: https://apt.llvm.org/llvm-snapshot.gpg.key
338+
install: clang-format clang-tidy
339+
- name: add cppfw deb repo
340+
uses: myci-actions/add-deb-repo@main
341+
with:
342+
repo: deb https://gagis.hopto.org/repo/cppfw/${{ matrix.os }} ${{ matrix.codename }} main
343+
repo-name: cppfw
344+
keys-asc: https://gagis.hopto.org/repo/cppfw/pubkey.gpg
345+
install: devscripts equivs myci pipx cmake git
346+
- name: add ~/.local/bin to PATH
347+
uses: myci-actions/export-env-var@main
348+
with: {name: PATH, value: "$PATH:$HOME/.local/bin"}
349+
- name: install conan
350+
run: pipx install conan
351+
- name: create default conan profile
352+
run: |
353+
conan profile detect --name default
354+
sed -i -E "s/compiler.cppstd=.*$/compiler.cppstd=17/g" ~/.conan2/profiles/default
355+
- name: git clone
356+
uses: myci-actions/checkout@main
357+
- name: set PACKAGE_VERSION
358+
uses: myci-actions/export-env-var@main
359+
with: {name: PACKAGE_VERSION, value: $(myci-deb-version.sh)}
360+
if: startsWith(github.ref, 'refs/tags/')
361+
- name: build
362+
run: |
363+
conan remote add cppfw $MYCI_CONAN_REMOTE
364+
conan create build/conan --build=missing --user $MYCI_CONAN_USER --channel main --version $PACKAGE_VERSION
365+
- name: deploy conan package
366+
run: |
367+
conan remote login --password $MYCI_CONAN_PASSWORD cppfw $MYCI_CONAN_USER
368+
conan upload --check --remote cppfw $PACKAGE_NAME/$PACKAGE_VERSION@$MYCI_CONAN_USER/main
369+
if: startsWith(github.ref, 'refs/tags/')
370+
##### conan - macosx #####
371+
conan-macosx:
372+
strategy:
373+
fail-fast: false
374+
matrix:
375+
os:
376+
# - macos-10.15
377+
# - macos-11
378+
# - macos-12
379+
- macos-latest
380+
name: conan - ${{ matrix.os }}
381+
runs-on: ${{ matrix.os }}
382+
steps:
383+
- name: workaround python2 and python3 issue when upgrading python
384+
run : |
385+
rm -rf /usr/local/bin/2to3*
386+
rm -rf /usr/local/bin/idle3*
387+
rm -rf /usr/local/bin/pydoc3*
388+
rm -rf /usr/local/bin/python3
389+
rm -rf /usr/local/bin/python3-config
390+
rm -rf /usr/local/bin/python3*
391+
rm -rf /usr/local/bin/python3*-config
392+
- name: install clang-tidy and clang-format
393+
run: |
394+
brew install llvm
395+
ln -s "$(brew --prefix llvm)/bin/clang-format" "/usr/local/bin/clang-format"
396+
ln -s "$(brew --prefix llvm)/bin/clang-tidy" "/usr/local/bin/clang-tidy"
397+
ln -s "$(brew --prefix llvm)/bin/clang-apply-replacements" "/usr/local/bin/clang-apply-replacements"
398+
- name: git clone
399+
uses: myci-actions/checkout@main
400+
- name: add cppfw tap
401+
run: |
402+
brew tap cppfw/tap
403+
brew update
404+
- name: install ci tools
405+
run: brew install myci conan
406+
- name: create default conan profile
407+
run: |
408+
conan profile detect --name default
409+
sed -i -E "s/compiler.cppstd=.*$/compiler.cppstd=17/g" ~/.conan2/profiles/default
410+
- name: set PACKAGE_VERSION
411+
uses: myci-actions/export-env-var@main
412+
with: {name: PACKAGE_VERSION, value: $(myci-deb-version.sh)}
413+
if: startsWith(github.ref, 'refs/tags/')
414+
- name: build
415+
run: |
416+
conan remote add cppfw $MYCI_CONAN_REMOTE
417+
conan create build/conan --build=missing --user $MYCI_CONAN_USER --channel main --version $PACKAGE_VERSION
418+
- name: deploy conan package
419+
run: |
420+
conan remote login --password $MYCI_CONAN_PASSWORD cppfw $MYCI_CONAN_USER
421+
conan upload --check --remote cppfw $PACKAGE_NAME/$PACKAGE_VERSION@$MYCI_CONAN_USER/main
422+
if: startsWith(github.ref, 'refs/tags/')
318423
##### conan - emscripten #####
319424
conan-emscripten:
320425
strategy:

0 commit comments

Comments
 (0)