Skip to content

fix5 pipeline

fix5 pipeline #6

Workflow file for this run

name: ci-cd
on:
push:
branches:
- main # Запускать пайплайн при пуше в ветку main
- v0.3
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Create .env file
run: |
cat << EOF > .env
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=test
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
# Добавьте другие переменные, если нужно
EOF
cat .env # Для проверки (опционально)
- name: Install Docker Compose (v2)
run: |
mkdir -p ~/.docker/cli-plugins
curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
docker compose version # Проверяем установку
- name: Run services
run: |
docker compose up -d
docker compose ps
- name: Waiting connect to webserver
run: |
# Ждём готовности сервиса (пример для порта 5000)
until curl -s http://localhost:5000; do
sleep 2
done
- name: Send message
run: |
# Тестируем отправку сообщения
curl -X POST "http://localhost:5000/submit-text" \
-H "Content-Type: application/json" \
-d '{"text": "test"}' \
--fail --silent --show-error
- name: Check DB
run: |
# Проверяем, что сообщение попало в БД
docker compose exec -T postgres psql -U postgres -d test -c "SELECT * FROM messages;" | grep "test" || exit 1
- name: Cleanup (containers down)
if: always()
run: docker-compose down