Initial version of MQTT sink #923
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
# See: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
# Workflow name | |
name: Run Test | |
# Run on event push | |
on: | |
push: | |
workflow_dispatch: | |
jobs: | |
# | |
# Job build-1-21 | |
# Build on latest Ubuntu using golang version 1.21 | |
# | |
build-1-21: | |
runs-on: ubuntu-latest | |
steps: | |
# See: https://github.com/marketplace/actions/checkout | |
# Checkout git repository and submodules | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
# See: https://github.com/marketplace/actions/setup-go-environment | |
- name: Setup Golang | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
- name: Build MetricCollector | |
run: make | |
- name: Run MetricCollector once | |
run: ./cc-metric-collector --once --config .github/ci-config.json | |
# | |
# Job build-1-22 | |
# Build on latest Ubuntu using golang version 1.22 | |
# | |
build-1-22: | |
runs-on: ubuntu-latest | |
steps: | |
# See: https://github.com/marketplace/actions/checkout | |
# Checkout git repository and submodules | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
# See: https://github.com/marketplace/actions/setup-go-environment | |
- name: Setup Golang | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.22' | |
- name: Build MetricCollector | |
run: make | |
- name: Run MetricCollector once | |
run: ./cc-metric-collector --once --config .github/ci-config.json | |
# | |
# Build on AlmaLinux 8 using go-toolset | |
# | |
AlmaLinux-RPM-build: | |
runs-on: ubuntu-latest | |
# See: https://hub.docker.com/_/almalinux | |
container: almalinux:8 | |
# The job outputs link to the outputs of the 'rpmrename' step | |
# Only job outputs can be used in child jobs | |
steps: | |
# Use dnf to install development packages | |
- name: Install development packages | |
run: | | |
dnf --assumeyes group install "Development Tools" "RPM Development Tools" | |
dnf --assumeyes install wget openssl-devel diffutils delve which | |
# Checkout git repository and submodules | |
# fetch-depth must be 0 to use git describe | |
# See: https://github.com/marketplace/actions/checkout | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# Use dnf to install build dependencies | |
- name: Install build dependencies | |
run: | | |
dnf --assumeyes install \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/golang-1.21.7-1.module_el8+960+4060efbe.x86_64.rpm \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/golang-bin-1.21.7-1.module_el8+960+4060efbe.x86_64.rpm \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/golang-src-1.21.7-1.module_el8+960+4060efbe.noarch.rpm \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/go-toolset-1.21.7-1.module_el8+960+4060efbe.x86_64.rpm | |
- name: RPM build MetricCollector | |
id: rpmbuild | |
run: | | |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector | |
make RPM | |
# | |
# Build on UBI 8 using go-toolset | |
# | |
UBI-8-RPM-build: | |
runs-on: ubuntu-latest | |
# See: https://catalog.redhat.com/software/containers/ubi8/ubi/5c359854d70cc534b3a3784e?container-tabs=gti | |
container: registry.access.redhat.com/ubi8/ubi:8.8-1032.1692772289 | |
# The job outputs link to the outputs of the 'rpmbuild' step | |
steps: | |
# Use dnf to install development packages | |
- name: Install development packages | |
run: dnf --assumeyes --disableplugin=subscription-manager install rpm-build go-srpm-macros rpm-build-libs rpm-libs gcc make python38 git wget openssl-devel diffutils delve which | |
# Checkout git repository and submodules | |
# fetch-depth must be 0 to use git describe | |
# See: https://github.com/marketplace/actions/checkout | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# Use dnf to install build dependencies | |
- name: Install build dependencies | |
run: | | |
dnf --assumeyes --disableplugin=subscription-manager install \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/golang-1.21.7-1.module_el8+960+4060efbe.x86_64.rpm \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/golang-bin-1.21.7-1.module_el8+960+4060efbe.x86_64.rpm \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/golang-src-1.21.7-1.module_el8+960+4060efbe.noarch.rpm \ | |
http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/go-toolset-1.21.7-1.module_el8+960+4060efbe.x86_64.rpm | |
- name: RPM build MetricCollector | |
id: rpmbuild | |
run: | | |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector | |
make RPM | |
# | |
# Build on Ubuntu 22.04 using official go package | |
# | |
Ubuntu-jammy-build: | |
runs-on: ubuntu-latest | |
container: ubuntu:22.04 | |
steps: | |
# Use apt to install development packages | |
- name: Install development packages | |
run: | | |
apt update && apt --assume-yes upgrade | |
apt --assume-yes install build-essential sed git wget bash | |
# Checkout git repository and submodules | |
# fetch-depth must be 0 to use git describe | |
# See: https://github.com/marketplace/actions/checkout | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# Use official golang package | |
- name: Install Golang | |
run: | | |
wget -q https://go.dev/dl/go1.21.1.linux-amd64.tar.gz --output-document=- | \ | |
tar --directory=/usr/local --extract --gzip | |
export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH | |
go version | |
- name: DEB build MetricCollector | |
id: dpkg-build | |
run: | | |
export PATH=/usr/local/go/bin:/usr/local/go/pkg/tool/linux_amd64:$PATH | |
git config --global --add safe.directory /__w/cc-metric-collector/cc-metric-collector | |
make DEB |