Merge branch 'release/6.0.0' of rmc-github.robotic.dlr.de:robotkernel… #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Publish Debian Package | |
| on: | |
| push: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| env: | |
| DEB_BUILD_OPTIONS: nocheck # or whatever options you need | |
| strategy: | |
| matrix: | |
| distro: [debian-bookworm, debian-bullseye, ubuntu-24.04, ubuntu-22.04] | |
| include: | |
| - distro: debian-bookworm | |
| image: debian:bookworm | |
| os: debian | |
| version: bookworm | |
| - distro: debian-bullseye | |
| image: debian:bullseye | |
| os: debian | |
| version: bullseye | |
| - distro: ubuntu-24.04 | |
| image: ubuntu:24.04 | |
| os: ubuntu | |
| version: noble | |
| - distro: ubuntu-22.04 | |
| image: ubuntu:22.04 | |
| os: ubuntu | |
| version: jammy | |
| container: | |
| image: ${{ matrix.image }} | |
| steps: | |
| - name: Setup dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y build-essential devscripts debhelper autotools-dev autoconf-archive pkg-config fakeroot sed git tar gzip python3-pip python3-venv curl jq libyaml-cpp-dev | |
| curl -1sLf 'https://dl.cloudsmith.io/basic/robertburger/robotkernel/setup.deb.sh' | bash | |
| apt-get update | |
| apt-get install -y robotkernel-service-helper robotkernel-dev service-provider-process-data-inspection-dev | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Mark working directory as safe | |
| run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - name: update branch name | |
| run: | | |
| VERSION=$(dpkg-parsechangelog | sed -n 's/^Version: //p') | |
| sed "s|PACKAGE_VERSION|$VERSION|" configure.ac.in > configure.ac | |
| env: | |
| GITHUB_REF_NAME: ${{ github.ref_name }} | |
| - name: Build .deb package | |
| run: | | |
| # baue mit dpkg-buildpackage (ohne signieren) | |
| dpkg-buildpackage -us -uc -d | |
| - name: Collect .deb artifact | |
| run: | | |
| mkdir -p artifacts/${{ matrix.os }}/${{ matrix.version }} | |
| mv ../module-posix-timer*.deb artifacts/${{ matrix.os }}/${{ matrix.version }} | |
| - name: Set sanitized image name | |
| id: sanitize | |
| run: | | |
| version=$(dpkg-parsechangelog | sed -n 's/^Version: //p') | |
| echo "sanitized_image=$(echo "$version-$IMAGE" | tr '/:' '--')" >> $GITHUB_OUTPUT | |
| env: | |
| IMAGE: ${{ matrix.image }} | |
| - name: Upload .deb package | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: module-posix-timer-${{ steps.sanitize.outputs.sanitized_image }}.deb | |
| path: artifacts/${{ matrix.os }}/${{ matrix.version }}/*.deb | |
| - name: Upload to Cloudsmith (${{ matrix.os }}/${{ matrix.version }}) | |
| env: | |
| CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
| shell: bash | |
| run: | | |
| VERSION=$(dpkg-parsechangelog | sed -n 's/^Version: //p') | |
| FILENAME="artifacts/${{ matrix.os }}/${{ matrix.version }}/module-posix-timer_${VERSION}_amd64.deb" | |
| python3 -m venv cloudsmith | |
| cd cloudsmith | |
| source bin/activate | |
| python3 -m pip install --upgrade pip | |
| pip3 install cloudsmith-cli | |
| cloudsmith push deb robertburger/robotkernel/${{ matrix.os }}/${{ matrix.version }} ../${FILENAME} \ | |
| --republish \ | |
| --api-key "$CLOUDSMITH_API_KEY" |