Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 48 additions & 38 deletions .github/workflows/test-install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,58 +12,68 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# ARM macs don't work with docker because m1 doesn't support nested virtualization.
# macos-13 is broken, possibly due to timeout download the docker files.
# os: [ubuntu-latest, macos-13]
os: [ubuntu-latest]
os: [ubuntu-24.04]
engine: [docker-v2, docker-v1, docker-pwsh, podman]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
- name: Install docker-compose v1 (1.27.0 binary)
if: matrix.engine == 'docker-v1'
run: |
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm /usr/libexec/docker/cli-plugins/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.0/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

- name: Install dependencies (macOS)
if: runner.os == 'macOS'
# --- PODMAN ---
- name: Install Podman + podman-compose
if: matrix.engine == 'podman'
run: |
brew install docker docker-compose colima

# Link the Docker Compose v2 plugin so it's understood by the docker CLI
mkdir -p ~/.docker/cli-plugins
ln -sfn /usr/local/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose

colima start
sudo apt-get update
sudo apt-get remove -y docker-ce docker-ce-cli
sudo apt-get install -y podman python3-pip
sudo pip3 install podman-compose
sudo echo "$(python3 -m site --user-base)/bin" >> "$GITHUB_PATH"
podman --version
podman-compose --version

- name: Verify Docker & lsof installation
# --- VERIFY ---
- name: Verify container engine
run: |
docker compose --version
docker --version
case "${{ matrix.engine }}" in
docker-v2|docker-pwsh)
docker --version
docker compose version
;;
docker-v1)
docker --version
docker-compose --version
;;
podman)
podman --version
podman-compose --version
;;
esac
lsof -v

- name: Run install.sh in powershell
if: runner.os == 'Linux'
# --- PWSH INSTALL (docker-pwsh only) ---
- name: Run install.ps1
if: matrix.engine == 'docker-pwsh'
run: |
sudo apt-get update
sudo apt-get install -y powershell
sudo pwsh ./install.ps1 --no-browser --no-pause

- name: Run install.sh
run: |
set +e
sudo docker compose down
rm -f .env
set -e
cat ./install.sh | sudo sh
chmod +x ./install.sh
sudo ./install.sh

- name: Validate port 80 is listening
run: |
sudo ss -ltnp | grep ':80 ' || {
echo "Port 80 is not listening"; exit 1;
}
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ while [ $# -gt 0 ]; do
done

# Minimum required Docker Compose version.
MIN_COMPOSE_VERSION="1.25.0"
MIN_COMPOSE_VERSION="1.27.0"

DOWNLOAD_URL="https://github.com/Rocketgraphai/rocketgraph"

Expand Down