ci: Use Compose v2
This commit is contained in:
parent
791150114a
commit
b3abdb1d2e
|
@ -24,6 +24,8 @@ jobs:
|
|||
#####################################################
|
||||
|
||||
- name: Prepare environment
|
||||
env:
|
||||
COMPOSE_VERSION: v2.0.1
|
||||
run: |
|
||||
|
||||
# Install Linux packages
|
||||
|
@ -33,9 +35,18 @@ jobs:
|
|||
|
||||
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
|
||||
|
||||
docker-compose build
|
||||
docker compose build
|
||||
|
||||
########################################################
|
||||
# #
|
||||
|
@ -57,7 +68,7 @@ jobs:
|
|||
|
||||
# Run Elasticsearch and wait for its availability
|
||||
|
||||
docker-compose up -d elasticsearch
|
||||
docker compose up -d elasticsearch
|
||||
source .github/workflows/scripts/lib/testing.sh
|
||||
poll_ready "$(container_id elasticsearch)" "http://$(service_ip elasticsearch):9200/" -u 'elastic:changeme'
|
||||
|
||||
|
@ -72,7 +83,7 @@ jobs:
|
|||
##########################################################
|
||||
|
||||
- name: Run the stack
|
||||
run: docker-compose up -d
|
||||
run: docker compose up -d
|
||||
|
||||
- name: Execute core test suite
|
||||
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
|
||||
if: always()
|
||||
run: |
|
||||
docker-compose ps
|
||||
docker-compose logs elasticsearch
|
||||
docker-compose logs logstash
|
||||
docker-compose logs kibana
|
||||
docker compose ps
|
||||
docker compose logs elasticsearch
|
||||
docker compose logs logstash
|
||||
docker compose logs kibana
|
||||
|
||||
##############################
|
||||
# #
|
||||
|
@ -104,26 +115,29 @@ jobs:
|
|||
|
||||
sed -i '$ a input { udp { port => 5000 codec => json } }' logstash/pipeline/logstash.conf
|
||||
|
||||
# Run Logspout and execute tests.
|
||||
# Logstash will be restarted as a result of building the Logspout
|
||||
# image, so changes above will automatically take effect.
|
||||
# Restart Logstash for changes to 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
|
||||
|
||||
# Revert changes to Logstash configuration
|
||||
|
||||
sed -i '/input { udp { port => 5000 codec => json } }/d' logstash/pipeline/logstash.conf
|
||||
docker compose restart logstash
|
||||
|
||||
- name: 'debug: Display state and logs (Logspout)'
|
||||
if: always()
|
||||
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 logs logspout
|
||||
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
|
||||
# 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
|
||||
docker-compose stop logstash
|
||||
docker compose stop logstash
|
||||
|
||||
#
|
||||
# Enterprise Search
|
||||
|
@ -138,25 +152,25 @@ jobs:
|
|||
|
||||
# Restart Elasticsearch for changes to take effect
|
||||
|
||||
docker-compose restart elasticsearch
|
||||
docker compose restart elasticsearch
|
||||
|
||||
# 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
|
||||
|
||||
# Revert changes to Elasticsearch configuration
|
||||
|
||||
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)'
|
||||
if: always()
|
||||
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 logs enterprise-search
|
||||
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
|
||||
# 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
|
||||
|
@ -164,16 +178,16 @@ jobs:
|
|||
|
||||
- name: Execute APM Server test suite
|
||||
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
|
||||
|
||||
- name: 'debug: Display state and logs (APM Server)'
|
||||
if: always()
|
||||
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 logs apm-server
|
||||
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
|
||||
# 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
|
||||
|
@ -181,16 +195,16 @@ jobs:
|
|||
|
||||
- name: Execute Metricbeat test suite
|
||||
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
|
||||
|
||||
- name: 'debug: Display state and logs (Metricbeat)'
|
||||
if: always()
|
||||
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 logs metricbeat
|
||||
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
|
||||
# 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
|
||||
if: always()
|
||||
run: >-
|
||||
docker-compose
|
||||
docker compose
|
||||
-f docker-compose.yml
|
||||
-f extensions/logspout/logspout-compose.yml
|
||||
-f extensions/enterprise-search/enterprise-search-compose.yml
|
||||
|
|
Loading…
Reference in New Issue