Skip to content

Fix manage groups dropdown being clipped by card overflow #14

Fix manage groups dropdown being clipped by card overflow

Fix manage groups dropdown being clipped by card overflow #14

Workflow file for this run

name: CI
on:
push:
branches:
- "**"
env:
ETFS_PROJECT_NAME: ci
APP_IMAGE: ghcr.io/${{ github.repository }}/app:ci
jobs:
build-app-image:
name: Build app image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
outputs:
image: ${{ env.APP_IMAGE }}
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push app image
uses: docker/build-push-action@v6
with:
context: .
file: docker/app/Dockerfile
push: true
tags: ${{ env.APP_IMAGE }}
cache-from: type=gha
cache-to: type=gha,mode=max
quality:
name: Quality checks
runs-on: ubuntu-latest
needs: build-app-image
env:
HOST_PROJECT_PATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pull app image
run: docker pull ${{ env.APP_IMAGE }}
- name: Start Docker services
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d app mariadb
- name: Install dependencies
run: |
docker compose exec -T app mise trust
docker compose exec -T app mise install
docker compose exec -T app composer install
docker compose exec -T app mise exec node -- npm install --no-save
- name: Setup database
run: |
docker compose exec -T app php bin/console doctrine:database:create --if-not-exists
docker compose exec -T app php bin/console doctrine:migrations:migrate --no-interaction
- name: Run quality checks
run: |
docker compose exec -T app php bin/console doctrine:schema:validate
docker compose exec -T app php bin/php-cs-fixer.php fix
docker compose exec -T app mise exec node -- npm run prettier:fix
docker compose exec -T app mise exec node -- npm run lint
docker compose exec -T app mise exec node -- npm exec tsc
docker compose exec -T app php vendor/bin/phpstan --memory-limit=1024M
git diff --exit-code
tests-php:
name: PHP tests
runs-on: ubuntu-latest
needs: build-app-image
env:
HOST_PROJECT_PATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pull app image
run: docker pull ${{ env.APP_IMAGE }}
- name: Start Docker services
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d app mariadb
- name: Wait for MariaDB
run: |
for i in {1..30}; do
docker compose exec -T mariadb mariadb -uroot -psecret -e "SELECT 1" && break
echo "Waiting for MariaDB... ($i/30)"
sleep 2
done
- name: Install dependencies
run: |
docker compose exec -T app mise trust
docker compose exec -T app mise install
docker compose exec -T app composer install
docker compose exec -T app mise exec node -- npm install --no-save
- name: Setup database
run: |
docker compose exec -T app php bin/console doctrine:database:create --if-not-exists
docker compose exec -T app php bin/console doctrine:migrations:migrate --no-interaction
- name: Run PHP tests
run: |
echo "Running architecture tests..."
docker compose exec -T app php vendor/bin/pest -v --group=architecture
echo "Running shell-scripts tests..."
docker compose exec -T app mise exec bats -- bats tests/ShellScripts
echo "Running unit tests..."
docker compose exec -T app php vendor/bin/pest -v tests/Unit
echo "Building frontend assets for integration tests..."
docker compose exec -T app mise exec node -- php bin/console tailwind:build
docker compose exec -T app mise exec node -- php bin/console typescript:build
echo "Running integration tests..."
docker compose exec -T app php bin/console doctrine:database:drop --env=test --if-exists --force
docker compose exec -T app php bin/console doctrine:database:create --env=test
docker compose exec -T app php bin/console doctrine:migrations:migrate --env=test --no-interaction
docker compose exec -T app php vendor/bin/pest -v tests/Integration
echo "Running application tests..."
docker compose exec -T app php bin/console doctrine:database:drop --env=test --if-exists --force
docker compose exec -T app php bin/console doctrine:database:create --env=test
docker compose exec -T app php bin/console doctrine:migrations:migrate --env=test --no-interaction
docker compose exec -T app php vendor/bin/pest -v tests/Application
tests-frontend:
name: Frontend tests
runs-on: ubuntu-latest
needs: build-app-image
env:
HOST_PROJECT_PATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pull app image
run: docker pull ${{ env.APP_IMAGE }}
- name: Start Docker services
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d app
- name: Install dependencies
run: |
docker compose exec -T app mise trust
docker compose exec -T app mise install
docker compose exec -T app composer install
docker compose exec -T app mise exec node -- npm install --no-save
- name: Run frontend tests
run: docker compose exec -T app mise exec node -- npm test
build-frontend:
name: Frontend build
runs-on: ubuntu-latest
needs: build-app-image
env:
HOST_PROJECT_PATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pull app image
run: docker pull ${{ env.APP_IMAGE }}
- name: Start Docker services
run: docker compose -f docker-compose.yml -f docker-compose.ci.yml up -d app
- name: Install dependencies
run: |
docker compose exec -T app mise trust
docker compose exec -T app mise install
docker compose exec -T app composer install
docker compose exec -T app mise exec node -- npm install --no-save
- name: Build frontend assets
run: |
docker compose exec -T app rm -rf public/assets
docker compose exec -T app mise exec node -- php bin/console tailwind:build
docker compose exec -T app mise exec node -- php bin/console typescript:build
docker compose exec -T app php bin/console asset-map:compile