Skip to content

Commit

Permalink
fixing github actions steps and configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Ioannis committed Apr 14, 2026
1 parent be72306 commit 1c56a12
Showing 1 changed file with 54 additions and 102 deletions.
156 changes: 54 additions & 102 deletions .github/workflows/registry-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,14 @@ jobs:

env:
COMANAGE_REGISTRY_DIR: /srv/comanage-registry

# Values used by your PHPUnit setup test
COMANAGE_REGISTRY_ADMIN_GIVEN_NAME: Admin
COMANAGE_REGISTRY_ADMIN_FAMILY_NAME: User
COMANAGE_REGISTRY_ADMIN_USERNAME: admin
COMANAGE_REGISTRY_SECURITY_SALT: phpunit-security-salt

# Values used by tests/bootstrap.php to create containers (host/port are set dynamically after start)
COMANAGE_REGISTRY_DATABASE: registry_test
COMANAGE_REGISTRY_DATABASE_USER: test_user
COMANAGE_REGISTRY_DATABASE_USER_PASSWORD: test_password
Expand All @@ -33,104 +37,69 @@ jobs:
run: |
cat /etc/os-release
uname -a
docker --version
- name: Upgrade Docker Engine
- name: Checkout (only for workflow files)
shell: bash
run: |
set -euxo pipefail
# Remove old docker packages first to avoid conflicts
sudo yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine || true
# Install missing dependencies from AL2 extras
sudo amazon-linux-extras install -y selinux-ng || true
sudo yum install -y \
container-selinux \
fuse-overlayfs \
slirp4netns || true
# Add Docker CE repo pinned to CentOS 7
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo sed -i 's|\$releasever|7|g' /etc/yum.repos.d/docker-ce.repo
# Install Docker CE, skip rootless extras to avoid optional dep issues
sudo yum install -y \
docker-ce \
docker-ce-cli \
containerd.io \
--exclude=docker-ce-rootless-extras
sudo systemctl start docker || true
docker --version
git clone \
--depth=1 \
--branch "${GITHUB_REF_NAME}" \
"${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" \
"${COMANAGE_REGISTRY_DIR}"
- name: Install PHP ${{ matrix.php }} and extensions
shell: bash
run: |
set -euxo pipefail
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
software-properties-common ca-certificates gnupg
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update
PHP_VER="${{ matrix.php }}"
# Enable EPEL and Remi repo for multiple PHP versions on AL2
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm || true
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm || true
sudo yum-config-manager --enable remi-php$(echo $PHP_VER | tr -d '.')
sudo yum install -y \
php${PHP_VER/./} \
php${PHP_VER/./}-php-cli \
php${PHP_VER/./}-php-mbstring \
php${PHP_VER/./}-php-intl \
php${PHP_VER/./}-php-ldap \
php${PHP_VER/./}-php-xml \
php${PHP_VER/./}-php-zip \
php${PHP_VER/./}-php-pdo \
php${PHP_VER/./}-php-mysqlnd \
php${PHP_VER/./}-php-pgsql \
php${PHP_VER/./}-php-gd \
php${PHP_VER/./}-php-xsl \
php${PHP_VER/./}-php-memcached \
php${PHP_VER/./}-php-curl \
php${PHP_VER/./}-php-sodium
# Make the correct version the default
sudo ln -sf /usr/bin/php${PHP_VER/./} /usr/local/bin/php
echo "/usr/local/bin" >> "$GITHUB_PATH"
sudo apt-get install -y --no-install-recommends \
php${PHP_VER}-cli \
php${PHP_VER}-mbstring \
php${PHP_VER}-intl \
php${PHP_VER}-ldap \
php${PHP_VER}-xml \
php${PHP_VER}-zip \
php${PHP_VER}-pdo \
php${PHP_VER}-mysql \
php${PHP_VER}-pgsql \
php${PHP_VER}-gd \
php${PHP_VER}-xsl \
php${PHP_VER}-memcached \
php${PHP_VER}-curl
# Force the correct version via update-alternatives
sudo update-alternatives --set php /usr/bin/php${PHP_VER}
# Also override via /usr/local/bin which is earlier in PATH
sudo ln -sf /usr/bin/php${PHP_VER} /usr/local/bin/php
# Persist for subsequent steps
echo "PHP_VER=${PHP_VER}" >> "$GITHUB_ENV"
# Prepend /usr/local/bin to PATH for all subsequent steps
echo "/usr/local/bin" >> "$GITHUB_PATH"
- name: Install OS packages needed for setup
shell: bash
run: |
set -euxo pipefail
sudo yum install -y \
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
wget curl tar ca-certificates \
git unzip \
libicu-devel \
openldap-devel \
libicu-dev \
libldap2-dev \
libxml2 \
zlib \
libsodium \
libpng-devel \
libjpeg-devel \
freetype-devel \
libxslt \
libmemcached \
tree
- name: Checkout source
shell: bash
run: |
set -euxo pipefail
git clone \
--depth=1 \
--branch "${GITHUB_REF_NAME}" \
"${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" \
"${COMANAGE_REGISTRY_DIR}"
zlib1g \
libsodium23 \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libxslt1.1 \
libmemcached11 \
tree
- name: Show versions
shell: bash
Expand All @@ -140,35 +109,19 @@ jobs:
composer --version
docker --version
- name: Create apache user/group
shell: bash
run: |
set -euxo pipefail
if ! getent group apache >/dev/null; then
sudo groupadd --system apache
fi
if ! id -u apache >/dev/null 2>&1; then
sudo useradd --system --no-create-home --gid apache apache
fi
- name: Create local/config/database.php placeholder
shell: bash
run: |
set -euxo pipefail
sudo mkdir -p "${COMANAGE_REGISTRY_DIR}/local/config"
sudo tee "${COMANAGE_REGISTRY_DIR}/local/config/database.php" > /dev/null <<'EOF'
cd "${COMANAGE_REGISTRY_DIR}"/local/config
sudo touch database.php
sudo chown www-data:www-data database.php
sudo tee "database.php" > /dev/null <<'EOF'
<?php
// Placeholder: actual connection is configured dynamically by tests/bootstrap.php via Testcontainers
return [];
EOF
- name: Composer install
shell: bash
working-directory: /srv/comanage-registry/app
run: |
set -euxo pipefail
composer install --no-interaction --no-progress
- name: Show working directory
shell: bash
run: |
Expand All @@ -181,6 +134,5 @@ jobs:
DB_ENGINE: ${{ matrix.db_engine }}
run: |
set -euxo pipefail
output=$(DB_ENGINE="${DB_ENGINE}" vendor/bin/phpunit --testsuite app 2>&1)
echo "${output}"
if echo "${output}" | grep -q "Could not load
cd "${COMANAGE_REGISTRY_DIR}"/app
DB_ENGINE="${DB_ENGINE}" vendor/bin/phpunit --testsuite app

0 comments on commit 1c56a12

Please sign in to comment.