Skip to content

Integrate EL monitoring stack #231

Integrate EL monitoring stack

Integrate EL monitoring stack #231

Workflow file for this run

name: sedge e2e tests
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
jobs:
unit_tests:
name: Run e2e tests
strategy:
matrix:
include:
- os: ubuntu-latest
go: '1.21'
- os: windows-latest
go: '1.21'
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Setup WSL
if: runner.os == 'Windows'
uses: Vampire/setup-wsl@v3
with:
distribution: Ubuntu-22.04
update: true
additional-packages: docker
- name: Install deps
run: make install-deps
- name: Setup Docker in WSL
if: runner.os == 'Windows'
shell: wsl-bash {0}
run: |
# Update package list
sudo apt-get update
# Install Docker and make
sudo apt-get install -y docker.io make
# Set iptables to legacy mode
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
# Start Docker daemon manually
sudo dockerd &
# Wait for Docker to start
for i in {1..10}; do
if docker info > /dev/null 2>&1; then
echo "Docker is ready!"
break
fi
echo "Waiting for Docker to start..."
sleep 3
done
# Verify Docker installation
docker version
docker info
- name: Install Go in WSL
if: runner.os == 'Windows'
shell: wsl-bash {0}
run: |
# Set Go version from matrix
GO_VERSION="1.21.0"
# Download Go
wget https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
# Remove any previous Go installation
sudo rm -rf /usr/local/go
# Extract Go to /usr/local
sudo tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
# Add Go to PATH
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
export PATH=$PATH:/usr/local/go/bin
# Verify Go installation
go version
- name: Run e2e tests (Windows)
if: runner.os == 'Windows'
shell: wsl-bash {0}
run: |
# Install deps
make install-deps
# Run e2e tests
make e2e-test
- name: Run e2e tests (Non-Windows)
if: runner.os != 'Windows'
run: make e2e-test