Test docker build #447
This file contains 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: main CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build_test_with_prometheus_support: | |
runs-on: ubuntu-latest | |
steps: | |
# install deps | |
- uses: actions/checkout@v4 | |
- name: install debian-packaged dependencies | |
run: sudo apt install -y libgtest-dev libbenchmark-dev libfmt-dev tidy git python3 python3-dateutil python3-pip | |
- name: install pypi-packaged dependencies | |
run: sudo pip3 install pytest 'black==22.8.0' 'conan==2.9.1' | |
# NOTE: since we later run "make" using the normal "builder" user, we must use Conan using that same user (so avoid the "sudo"!!) | |
- name: install Conan-packaged dependencies | |
run: | | |
conan profile detect --force | |
conan remote update conancenter --url https://center2.conan.io | |
conan install conanfile.txt --build=missing | |
# build & test | |
- name: check Python formatting | |
run: make format_check | |
- name: build cmonitor (with Prometheus support) | |
run: make PROMETHEUS_SUPPORT=1 | |
- name: run unit tests | |
run: make test PROMETHEUS_SUPPORT=1 | |
build_test_without_prometheus_support: | |
runs-on: ubuntu-latest | |
steps: | |
# install deps | |
- uses: actions/checkout@v4 | |
- name: install debian-packaged dependencies | |
run: sudo apt install -y libgtest-dev libbenchmark-dev libfmt-dev tidy git python3 python3-dateutil python3-pip | |
- name: install pypi-packaged dependencies | |
run: sudo pip3 install pytest black | |
# build & test | |
- name: build cmonitor (with Prometheus support) | |
run: make PROMETHEUS_SUPPORT=0 | |
- name: run unit tests | |
run: make test PROMETHEUS_SUPPORT=0 | |
alpine_docker_image_creation: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build Docker image (no push) | |
# see https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#accessing-secrets | |
# for the reason why DependaBot pull requests have no access to secrets like ${{ secrets.PAT_TOKEN_FOR_GITHUB }} | |
# if: ${{ github.actor == 'dependabot[bot]' }} | |
uses: mr-smithers-excellent/docker-build-push@v6 | |
with: | |
# options related to BUILDing the docker image: | |
dockerfile: ./collector/docker/Dockerfile.builder | |
multiPlatform: false | |
platform: linux/amd64 | |
image: cmonitor | |
# options related to PUSHing the docker image: | |
registry: ghcr.io | |
pushImage: false |