ci: Use Compose v2
This commit is contained in:
parent
791150114a
commit
b3abdb1d2e
|
@ -24,6 +24,8 @@ jobs:
|
||||||
#####################################################
|
#####################################################
|
||||||
|
|
||||||
- name: Prepare environment
|
- name: Prepare environment
|
||||||
|
env:
|
||||||
|
COMPOSE_VERSION: v2.0.1
|
||||||
run: |
|
run: |
|
||||||
|
|
||||||
# Install Linux packages
|
# Install Linux packages
|
||||||
|
@ -33,9 +35,18 @@ jobs:
|
||||||
|
|
||||||
sudo apt install -y expect
|
sudo apt install -y expect
|
||||||
|
|
||||||
|
# Enable support for Compose V2
|
||||||
|
#
|
||||||
|
# Instructions:
|
||||||
|
# https://docs.docker.com/compose/cli-command/#install-on-linux
|
||||||
|
|
||||||
|
mkdir -p ~/.docker/cli-plugins
|
||||||
|
curl -sL "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-linux-x86_64" -o ~/.docker/cli-plugins/docker-compose
|
||||||
|
chmod +x ~/.docker/cli-plugins/docker-compose
|
||||||
|
|
||||||
# Pre-build container images
|
# Pre-build container images
|
||||||
|
|
||||||
docker-compose build
|
docker compose build
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
# #
|
# #
|
||||||
|
@ -57,7 +68,7 @@ jobs:
|
||||||
|
|
||||||
# Run Elasticsearch and wait for its availability
|
# Run Elasticsearch and wait for its availability
|
||||||
|
|
||||||
docker-compose up -d elasticsearch
|
docker compose up -d elasticsearch
|
||||||
source .github/workflows/scripts/lib/testing.sh
|
source .github/workflows/scripts/lib/testing.sh
|
||||||
poll_ready "$(container_id elasticsearch)" "http://$(service_ip elasticsearch):9200/" -u 'elastic:changeme'
|
poll_ready "$(container_id elasticsearch)" "http://$(service_ip elasticsearch):9200/" -u 'elastic:changeme'
|
||||||
|
|
||||||
|
@ -72,7 +83,7 @@ jobs:
|
||||||
##########################################################
|
##########################################################
|
||||||
|
|
||||||
- name: Run the stack
|
- name: Run the stack
|
||||||
run: docker-compose up -d
|
run: docker compose up -d
|
||||||
|
|
||||||
- name: Execute core test suite
|
- name: Execute core test suite
|
||||||
run: .github/workflows/scripts/run-tests-core.sh
|
run: .github/workflows/scripts/run-tests-core.sh
|
||||||
|
@ -82,10 +93,10 @@ jobs:
|
||||||
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions
|
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#job-status-check-functions
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
docker-compose ps
|
docker compose ps
|
||||||
docker-compose logs elasticsearch
|
docker compose logs elasticsearch
|
||||||
docker-compose logs logstash
|
docker compose logs logstash
|
||||||
docker-compose logs kibana
|
docker compose logs kibana
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# #
|
# #
|
||||||
|
@ -104,26 +115,29 @@ jobs:
|
||||||
|
|
||||||
sed -i '$ a input { udp { port => 5000 codec => json } }' logstash/pipeline/logstash.conf
|
sed -i '$ a input { udp { port => 5000 codec => json } }' logstash/pipeline/logstash.conf
|
||||||
|
|
||||||
# Run Logspout and execute tests.
|
# Restart Logstash for changes to take effect
|
||||||
# Logstash will be restarted as a result of building the Logspout
|
|
||||||
# image, so changes above will automatically take effect.
|
|
||||||
|
|
||||||
docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up -d logspout
|
docker compose restart logstash
|
||||||
|
|
||||||
|
# Run Logspout and execute tests.
|
||||||
|
|
||||||
|
docker compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up -d logspout
|
||||||
.github/workflows/scripts/run-tests-logspout.sh
|
.github/workflows/scripts/run-tests-logspout.sh
|
||||||
|
|
||||||
# Revert changes to Logstash configuration
|
# Revert changes to Logstash configuration
|
||||||
|
|
||||||
sed -i '/input { udp { port => 5000 codec => json } }/d' logstash/pipeline/logstash.conf
|
sed -i '/input { udp { port => 5000 codec => json } }/d' logstash/pipeline/logstash.conf
|
||||||
|
docker compose restart logstash
|
||||||
|
|
||||||
- name: 'debug: Display state and logs (Logspout)'
|
- name: 'debug: Display state and logs (Logspout)'
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml ps
|
docker compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml ps
|
||||||
docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml logs logspout
|
docker compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml logs logspout
|
||||||
# next steps don't need Logspout
|
# next steps don't need Logspout
|
||||||
docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml stop logspout
|
docker compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml stop logspout
|
||||||
# next steps don't need Logstash
|
# next steps don't need Logstash
|
||||||
docker-compose stop logstash
|
docker compose stop logstash
|
||||||
|
|
||||||
#
|
#
|
||||||
# Enterprise Search
|
# Enterprise Search
|
||||||
|
@ -138,25 +152,25 @@ jobs:
|
||||||
|
|
||||||
# Restart Elasticsearch for changes to take effect
|
# Restart Elasticsearch for changes to take effect
|
||||||
|
|
||||||
docker-compose restart elasticsearch
|
docker compose restart elasticsearch
|
||||||
|
|
||||||
# Run Enterprise Search and execute tests
|
# Run Enterprise Search and execute tests
|
||||||
|
|
||||||
docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml up -d enterprise-search
|
docker compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml up -d enterprise-search
|
||||||
.github/workflows/scripts/run-tests-enterprise-search.sh
|
.github/workflows/scripts/run-tests-enterprise-search.sh
|
||||||
|
|
||||||
# Revert changes to Elasticsearch configuration
|
# Revert changes to Elasticsearch configuration
|
||||||
|
|
||||||
sed -i '/xpack.security.authc.api_key.enabled: true/d' elasticsearch/config/elasticsearch.yml
|
sed -i '/xpack.security.authc.api_key.enabled: true/d' elasticsearch/config/elasticsearch.yml
|
||||||
docker-compose restart elasticsearch
|
docker compose restart elasticsearch
|
||||||
|
|
||||||
- name: 'debug: Display state and logs (Enterprise Search)'
|
- name: 'debug: Display state and logs (Enterprise Search)'
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml ps
|
docker compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml ps
|
||||||
docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml logs enterprise-search
|
docker compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml logs enterprise-search
|
||||||
# next steps don't need Enterprise Search
|
# next steps don't need Enterprise Search
|
||||||
docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml stop enterprise-search
|
docker compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml stop enterprise-search
|
||||||
|
|
||||||
#
|
#
|
||||||
# APM Server
|
# APM Server
|
||||||
|
@ -164,16 +178,16 @@ jobs:
|
||||||
|
|
||||||
- name: Execute APM Server test suite
|
- name: Execute APM Server test suite
|
||||||
run: |
|
run: |
|
||||||
docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up -d apm-server
|
docker compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up -d apm-server
|
||||||
.github/workflows/scripts/run-tests-apm-server.sh
|
.github/workflows/scripts/run-tests-apm-server.sh
|
||||||
|
|
||||||
- name: 'debug: Display state and logs (APM Server)'
|
- name: 'debug: Display state and logs (APM Server)'
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml ps
|
docker compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml ps
|
||||||
docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml logs apm-server
|
docker compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml logs apm-server
|
||||||
# next steps don't need APM Server
|
# next steps don't need APM Server
|
||||||
docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml stop apm-server
|
docker compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml stop apm-server
|
||||||
|
|
||||||
#
|
#
|
||||||
# Metricbeat
|
# Metricbeat
|
||||||
|
@ -181,16 +195,16 @@ jobs:
|
||||||
|
|
||||||
- name: Execute Metricbeat test suite
|
- name: Execute Metricbeat test suite
|
||||||
run: |
|
run: |
|
||||||
docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml up -d metricbeat
|
docker compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml up -d metricbeat
|
||||||
.github/workflows/scripts/run-tests-metricbeat.sh
|
.github/workflows/scripts/run-tests-metricbeat.sh
|
||||||
|
|
||||||
- name: 'debug: Display state and logs (Metricbeat)'
|
- name: 'debug: Display state and logs (Metricbeat)'
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml ps
|
docker compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml ps
|
||||||
docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml logs metricbeat
|
docker compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml logs metricbeat
|
||||||
# next steps don't need Metricbeat
|
# next steps don't need Metricbeat
|
||||||
docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml stop metricbeat
|
docker compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml stop metricbeat
|
||||||
|
|
||||||
##############
|
##############
|
||||||
# #
|
# #
|
||||||
|
@ -201,7 +215,7 @@ jobs:
|
||||||
- name: Terminate all components
|
- name: Terminate all components
|
||||||
if: always()
|
if: always()
|
||||||
run: >-
|
run: >-
|
||||||
docker-compose
|
docker compose
|
||||||
-f docker-compose.yml
|
-f docker-compose.yml
|
||||||
-f extensions/logspout/logspout-compose.yml
|
-f extensions/logspout/logspout-compose.yml
|
||||||
-f extensions/enterprise-search/enterprise-search-compose.yml
|
-f extensions/enterprise-search/enterprise-search-compose.yml
|
||||||
|
|
Loading…
Reference in New Issue