Skip to content

Add: TEST github actions #2

Add: TEST github actions

Add: TEST github actions #2

# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Distro tests ARM64
on:
push:
branches: [ "main", "0.7-dev" ]
pull_request:
branches: [ "main", "0.7-dev" ]
workflow_dispatch:
jobs:
distro_tests:
timeout-minutes: 30
runs-on: [ self-hosted, ARM64 ]
strategy:
matrix:
TEST_SUITE:
##### First basic tests
- API
- PYTHON
- OTHER
- DOC
##### Then features (both python2 & 3)
- FEATURE
- MONITORING
##### Compliance rules
- COMPLIANCE-FILE-RIGHTS
- COMPLIANCE-GET-URL
- COMPLIANCE-PACKAGE-INSTALL
- COMPLIANCE-REPOSITORY
- COMPLIANCE-SYSTEM-USER
- MODULE
- PACK
##### Then complexe scenarios
# Some tests are with 2 docker that must run together. I hope it will be maintainable
- COMPOSE-GOSSIP-UDP-DETECT
# check that with different udp key, then cannot join (no clear message failback)
- COMPOSE-GOSSIP-UDP-DETECT-BAD-KEY
# This one is with 4 containers, in 2 zones, one is sub level of another
- COMPOSE-GOSSIP-ZONES
# This one is with 4 containers, in 3 zones, one is sub level of another
- COMPOSE-GOSSIP-ZONES-MULTI
# The same, but with multi level encryption
- COMPOSE-GOSSIP-ZONES-MULTI-ENCRYPTED
# This one is with 2 containers, a node with events, joining another, and sync its events
- COMPOSE-GOSSIP-JOIN-SYNC-EVENTS
# This is a full DEMO with 4 containers, for a distributed HTTP with
# * 2 real http servers
# * 1 haproxy (generators to the 2 http)
# * 1 customer, with DNS module
- COMPOSE-DEMO-HTTP
# This one is with 3 containers, trying to join together
- COMPOSE-GOSSIP-JOIN
# This one block communication between 1 & 3, and 2 will be the ping relay between both
- COMPOSE-GOSSIP-INDIRECT-PING
# This one is with 2 nodes: one collector, and the other a data agregator that save data send by the first to sqlite
- COMPOSE-MODULE-AGREGATOR
# This test is a 3 node RAFT test, just to see if we have a leader after a huge time
- COMPOSE-RAFT-INIT
# This test suite is 3 members that one node run executor to the 2 others (encrypted)
- COMPOSE-EXECUTOR
# Test about auto discovery with a init.d script (easy setup).
- COMPOSE-GOSSIP-UDP-DETECT-AT-BOOT
# Test about differences between zones for public/private addr (same zone = private, other=public)
- COMPOSE-GOSSIP-PUBLIC-PRIVATE-ADDR
# Test about distant deploy from an agent to another server
- COMPOSE-DEPLOY
##### Then installation on various distros
- ALPINE
- AMAZONLINUX
- CENTOS
- DEBIAN
- OPENSUSE
- ORACLELINUX
- REDHAT
- UBUNTU
- ALMA
- ROCKY
- FEDORA
# Do not stop at first error, each one are independent
fail-fast: false
env: # we set this variable, so we know we are on GitHub actions, and so azure servers
RUN_ON_GITHUB_ACTIONS: "TRUE"
RUN_ON_ARCH: "ARM64"
DATACENTER_COUNTRY: "FR" # ARM=Oraclecloud, so Paris, so FR
steps:
- uses: actions/checkout@v4
- name: Run on distros
run: |
chmod a+x test/*
chmod a+x test/docker-helper/*
cd test
TEST_SUITE=${{ matrix.TEST_SUITE }} ./test_suite.sh