3232 - name : add llvm repo (for clang-format)
3333 uses : myci-actions/add-deb-repo@main
3434 with :
35- repo : deb https ://apt.llvm.org/${{ env.linux_release }} llvm-toolchain-${{ env.linux_release }} main
35+ repo : deb http ://apt.llvm.org/${{ env.linux_release }} llvm-toolchain-${{ env.linux_release }} main
3636 repo-name : llvm
3737 keys-asc : https://apt.llvm.org/llvm-snapshot.gpg.key
3838 - name : git clone
@@ -51,30 +51,45 @@ jobs:
5151 - name : test
5252 run : make config=gcov test
5353 - name : generate coverage report
54- run : pipx run gcovr --exclude-throw-branches --filter src/ --cobertura > cobertura.xml
55- # - name: upload coverage report to artifacts
56- # uses: actions/upload-artifact@v3
57- # with:
58- # name: cobertura.xml
59- # path: cobertura.xml
54+ # due to some bug in gcov, we need to use --gcov-ignore-parse-errors=negative_hits.warn
55+ run : pipx run gcovr --gcov-ignore-parse-errors=negative_hits.warn --exclude-throw-branches --filter src/ --cobertura > cobertura.xml
56+ - name : upload coverage report to artifacts
57+ uses : actions/upload-artifact@v4
58+ with :
59+ name : cobertura.xml
60+ path : cobertura.xml
6061 - name : upload coverage data to codecov.io
61- uses : codecov/codecov-action@v4
62+ uses : codecov/codecov-action@v5
6263 if : always() # even if previous steps fail, this one needs to be run
6364 with :
6465 token : ${{ secrets.CODECOV_TOKEN }}
66+ # do not search for coverage files automatically, upload only specified files
67+ disable_search : true
6568 files : cobertura.xml
6669 # flags: unittests # optional
6770 name : codecov-umbrella # optional
6871 fail_ci_if_error : true # optional (default = false)
6972 verbose : true # optional (default = false)
73+ - name : upload test report to codecov.io
74+ if : always() # even if previous steps fail, this one needs to be run
75+ uses : codecov/test-results-action@v1
76+ with :
77+ token : ${{ secrets.CODECOV_TOKEN }}
78+ # do not search for coverage files automatically, upload only specified files
79+ disable_search : true
80+ files : tests/unit/out/gcov/junit.xml
81+ name : codecov-umbrella # optional
82+ fail_ci_if_error : true # optional (default = false)
83+ verbose : true # optional (default = false)
7084# #### sanitizer #####
7185 sanitizer :
7286 strategy :
7387 fail-fast : false
7488 matrix :
7589 include :
7690 - {os: debian, codename: bookworm, image_owner: , package_type: deb}
77- - {os: debian, codename: bookworm, image_owner: arm32v7/, package_type: deb, labels: [arm32,docker]}
91+ - {os: debian, codename: bookworm, image_owner: arm32v7/, package_type: deb, labels: [ubuntu-24.04-arm]}
92+ - {os: debian, codename: bookworm, image_owner: arm64v8/, package_type: deb, labels: [ubuntu-24.04-arm]}
7893 runs-on : ${{ (matrix.labels == '' && 'ubuntu-latest') || matrix.labels }}
7994 container : ${{ matrix.image_owner }}${{ matrix.os }}:${{ matrix.codename }}
8095 name : sanitizer - ${{ matrix.image_owner }}${{ matrix.os }}:${{ matrix.codename }}
@@ -118,21 +133,21 @@ jobs:
118133 include :
119134 # - {os: debian, codename: buster, image_owner: , package_type: deb}
120135 # - {os: debian, codename: buster, image_owner: i386/, package_type: deb, labels: [i386,docker]}
121- # - {os: debian, codename: buster, image_owner: arm32v7/, package_type: deb, labels: [arm,docker ]}
136+ # - {os: debian, codename: buster, image_owner: arm32v7/, package_type: deb, labels: [ubuntu-24.04- arm]}
122137 # - {os: debian, codename: bullseye, image_owner: , package_type: deb}
123138 # - {os: debian, codename: bullseye, image_owner: i386/, package_type: deb, labels: [i386,docker]}
124- # - {os: debian, codename: bullseye, image_owner: arm32v7/, package_type: deb, labels: [arm,docker ]}
125- # - {os: debian, codename: bullseye, image_owner: arm64v8/, package_type: deb, labels: [arm64,docker ]}
139+ # - {os: debian, codename: bullseye, image_owner: arm32v7/, package_type: deb, labels: [ubuntu-24.04- arm]}
140+ # - {os: debian, codename: bullseye, image_owner: arm64v8/, package_type: deb, labels: [ubuntu-24.04-arm ]}
126141 - {os: debian, codename: bookworm, image_owner: , package_type: deb}
127142 # - {os: debian, codename: bookworm, image_owner: i386/, package_type: deb, labels: [i386,docker]}
128- - {os: debian, codename: bookworm, image_owner: arm32v7/, package_type: deb, labels: [arm32,docker ]}
129- - {os: debian, codename: bookworm, image_owner: arm64v8/, package_type: deb, labels: [arm64,docker ]}
143+ - {os: debian, codename: bookworm, image_owner: arm32v7/, package_type: deb, labels: [ubuntu-24.04-arm ]}
144+ - {os: debian, codename: bookworm, image_owner: arm64v8/, package_type: deb, labels: [ubuntu-24.04-arm ]}
130145 # - {os: ubuntu, codename: focal, image_owner: , package_type: deb}
131146 # - {os: ubuntu, codename: jammy, image_owner: , package_type: deb}
132147 - {os: ubuntu, codename: noble, image_owner: , package_type: deb}
133- # - {os: raspbian, codename: buster, image_owner: igagis/, package_type: deb, labels: [arm,docker ]}
134- # - {os: raspbian, codename: bullseye, image_owner: igagis/, package_type: deb, labels: [arm,docker ]}
135- - {os: raspbian, codename: bookworm, image_owner: igagis/, package_type: deb, labels: [arm32,docker ]}
148+ # - {os: raspbian, codename: buster, image_owner: igagis/, package_type: deb, labels: [ubuntu-24.04- arm]}
149+ # - {os: raspbian, codename: bullseye, image_owner: igagis/, package_type: deb, labels: [ubuntu-24.04- arm]}
150+ # - {os: raspbian, codename: bookworm, image_owner: igagis/, package_type: deb, labels: [ubuntu-24.04-arm ]}
136151 runs-on : ${{ (matrix.labels == '' && 'ubuntu-latest') || matrix.labels }}
137152 container : ${{ matrix.image_owner }}${{ matrix.os }}:${{ matrix.codename }}
138153 name : linux - ${{ matrix.image_owner }}${{ matrix.os }}:${{ matrix.codename }}
@@ -158,7 +173,7 @@ jobs:
158173 uses : myci-actions/checkout@main
159174 - name : set PACKAGE_VERSION
160175 uses : myci-actions/export-env-var@main
161- with : {name: PACKAGE_VERSION, value: $(myci-deb-version.sh debian/changelog )}
176+ with : {name: PACKAGE_VERSION, value: $(myci-deb-version.sh)}
162177 - name : prepare debian package
163178 run : myci-deb-prepare.sh
164179 - name : install deps
@@ -169,7 +184,9 @@ jobs:
169184 echo "de_DE.UTF-8 UTF-8" >> /etc/locale.gen
170185 locale-gen
171186 - name : build
172- run : dpkg-buildpackage --unsigned-source --unsigned-changes
187+ run : |
188+ cd build
189+ dpkg-buildpackage --unsigned-source --unsigned-changes
173190 # - name: upload binaries to artifacts
174191 # uses: actions/upload-artifact@v3.1.2
175192 # with:
@@ -180,7 +197,7 @@ jobs:
180197 - name : deploy deb packages
181198 run : |
182199 echo "${{ secrets.MYCI_REPO_SSH_KEY }}" > repo_key_rsa && chmod 600 repo_key_rsa
183- myci-deploy-apt-ssh.sh --key repo_key_rsa --server gagis.hopto.org --repo cppfw/${{ matrix.os }} --distro ${{ matrix.codename }} --component main ../ lib${PACKAGE_NAME}*_${PACKAGE_VERSION}_*.*deb
200+ myci-deploy-apt-ssh.sh --key repo_key_rsa --server gagis.hopto.org --repo cppfw/${{ matrix.os }} --distro ${{ matrix.codename }} --component main lib${PACKAGE_NAME}*_${PACKAGE_VERSION}_*.*deb
184201 if : matrix.package_type == 'deb' && startsWith(github.ref, 'refs/tags/')
185202# #### macosx #####
186203 macosx :
@@ -253,7 +270,7 @@ jobs:
253270 # uses: myci-actions/checkout@main
254271 # - name: set PACKAGE_VERSION
255272 # uses: myci-actions/export-env-var@main
256- # with: {name: PACKAGE_VERSION, value: $(myci-deb-version.sh debian/changelog )}
273+ # with: {name: PACKAGE_VERSION, value: $(myci-deb-version.sh)}
257274 # - name: add cocoapods repo
258275 # run: pod repo add --silent cppfw https://$MYCI_GIT_USERNAME@github.com/cppfw/cocoapods-repo.git
259276 # - name: install deps
@@ -279,7 +296,7 @@ jobs:
279296 # - name: deploy
280297 # run: |
281298 # echo "${{ secrets.MYCI_REPO_SSH_KEY }}" > repo_key_rsa && chmod 600 repo_key_rsa
282- # myci-deploy-cocoapods-ssh.sh --repo cppfw --version $PACKAGE_VERSION --server gagis.hopto.org --key repo_key_rsa --generic-repo cppfw/cocoapods --package $PACKAGE_NAME-$PACKAGE_VERSION.zip cocoapods/$PACKAGE_NAME.podspec.in
299+ # myci-deploy-cocoapods-ssh.sh --repo cppfw --version $PACKAGE_VERSION --server gagis.hopto.org --key repo_key_rsa --generic-repo cppfw/cocoapods --package $PACKAGE_NAME-$PACKAGE_VERSION.zip build/ cocoapods/$PACKAGE_NAME.podspec.in
283300 # if: startsWith(github.ref, 'refs/tags/')
284301# #### android #####
285302 # android:
@@ -297,15 +314,15 @@ jobs:
297314 # install: myci
298315 # - name: set PACKAGE_VERSION
299316 # uses: myci-actions/export-env-var@main
300- # with: {name: PACKAGE_VERSION, value: $(myci-deb-version.sh debian/changelog )}
317+ # with: {name: PACKAGE_VERSION, value: $(myci-deb-version.sh)}
301318 # - name: build
302319 # run: |
303- # cd android
320+ # cd build/ android
304321 # ./gradlew copy_aar --warning-mode all
305322 # myci-apply-version.sh --version $PACKAGE_VERSION *.pom.in
306323 # myci-apply-version.sh --version $PACKAGE_VERSION *.aar.in --filename-only
307324 # - name: deploy
308- # run: myci-deploy-maven-nexus.sh --base-url https://gagis.hopto.org/nexus --repo android android/$PACKAGE_NAME-$PACKAGE_VERSION.aar
325+ # run: myci-deploy-maven-nexus.sh --base-url https://gagis.hopto.org/nexus --repo android build/ android/$PACKAGE_NAME-$PACKAGE_VERSION.aar
309326 # if: startsWith(github.ref, 'refs/tags/')
310327# #### msys2 #####
311328 msys2 :
@@ -347,43 +364,17 @@ jobs:
347364 - name : git clone
348365 uses : myci-actions/checkout@main
349366 - name : prepare pacman package
350- run : myci-apply-version.sh --version $(myci-deb-version.sh debian/changelog) msys2/PKGBUILD.in
367+ run : myci-apply-version.sh build/ msys2/PKGBUILD.in
351368 - name : build
352369 # to make makepkg-mingw build only one architecture we need to set the MINGW_ARCH
353370 env : {MINGW_ARCH: '${{ matrix.repo }}'}
354371 run : |
355- cd msys2
372+ cd build/ msys2
356373 PKGEXT='.pkg.tar.xz' makepkg-mingw --syncdeps --noconfirm --skipinteg
357374 - name : deploy
358375 run : |
359376 echo "${{ secrets.MYCI_REPO_SSH_KEY }}" > repo_key_rsa && chmod 600 repo_key_rsa
360- for f in $(find msys2 -name "mingw-w64-${{ matrix.arch }}-$PACKAGE_NAME-*-any.pkg.*"); do
377+ for f in $(find build/ msys2 -name "mingw-w64-${{ matrix.arch }}-$PACKAGE_NAME-*-any.pkg.*"); do
361378 myci-deploy-pacman-ssh.sh --server gagis.hopto.org --key repo_key_rsa --repo cppfw/msys2/${{ matrix.repo }} --database cppfw_${{ matrix.repo }} $f
362379 done
363380 if : startsWith(github.ref, 'refs/tags/')
364- # #### msvs #####
365- # msvs:
366- # runs-on: windows-latest
367- # defaults:
368- # run:
369- # shell: powershell
370- # steps:
371- # - name: git clone
372- # uses: actions/checkout@v3
373- # with: {submodules: true}
374- # - name: install CoAPP tools
375- # uses: myci-actions/install-coapp-tools@main
376- # - name: nuget update
377- # run: |
378- # nuget restore msvs_solution/msvs_solution.sln
379- # nuget update msvs_solution/msvs_solution.sln
380- # - name: add msbuild to PATH
381- # uses: microsoft/setup-msbuild@v1.1
382- # - name: build
383- # run: .\nuget\build_nuget.ps1
384- # - name: deploy
385- # uses: myci-actions/publish-nuget@main
386- # with:
387- # filename: '.\nuget\*.nupkg'
388- # api-key: ${{ secrets.NUGET_DOT_ORG_API_KEY }}
389- # if: startsWith(github.ref, 'refs/tags/')
0 commit comments