Skip to content

Split workflow into build and test #271

Split workflow into build and test

Split workflow into build and test #271

Workflow file for this run

---
name: CI
on:
push:
branches:
- main
- v3.6.x
- v3.8.x
- v3.9.x
- v3.10.x
pull_request:
branches:
- main
- v3.6.x
- v3.8.x
- v3.9.x
- v3.10.x
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out sources
uses: actions/checkout@v3
- name: Build snap
uses: snapcore/action-build@v1
with:
snapcraft-channel: 7.x/stable
id: snapcraft
- name: Store snap artifact
uses: actions/upload-artifact@v4
with:
name: snap
path: ${{ steps.snapcraft.outputs.snap }}
functional:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/download-artifact@v4
with:
name: snap
- name: Install rabbitmq-server snap
run: |
sudo snap install --devmode rabbitmq-server*snap
- name: Wait for rabbitmq-server to start
run: |
set -e -u -x
success=0
for i in $(seq 10); do
if sudo snap services rabbitmq-server-snap | grep --quiet enabled; then
success=1
break
fi
sleep 2
done
(( ${success} == 1 ))
success=0
for i in $(seq 10); do
if sudo snap services rabbitmq-server-snap | grep --quiet active; then
success=1
break
fi
sleep 2
done
(( ${success} == 1 ))
- name: Check server logs
run: |
set -e -u -x
success=0
for i in $(seq 10); do
if sudo snap logs rabbitmq-server-snap.rabbitmq-server | grep --quiet "Starting broker"; then
success=1
break
fi
sleep 2
done
(( ${success} == 1 ))
- name: Check whether process is running
run: pgrep -alf bin/rabbitmq-server
- name: Check cluster status
run: |
set -e -u -x
success=0
for i in $(seq 10); do
if sudo rabbitmq-server-snap.rabbitmqctl cluster_status; then
success=1
break
fi
sleep 2
done
(( ${success} == 1 ))