Skip to content

build(deps-dev): bump browserslist from 4.28.2 to 4.28.4 #6620

build(deps-dev): bump browserslist from 4.28.2 to 4.28.4

build(deps-dev): bump browserslist from 4.28.2 to 4.28.4 #6620

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ** Build **
#
# Catroweb does not require any build actions such as a compilation process since it is interpreted.
# However, Catroweb has various dependencies on third party software to run. (E.g. web server, database, ..)
# To ease the setup process we use Docker. This workflow checks that all Docker containers build and their basic
# functionality is working.
#
# - This tests must never fail!:
#
# We should never allow those checks to fail before merging a pull request. Having a failing docker container
# prevents developers from effectively working with Docker. At all times developers should have easy access to
# the development
#
#
name: 'Docker Container tests'
permissions:
contents: read
# Run-on every creation, update and merge of a pull request.
# However, prevent checks to be initiated twice if the pull request origins from a branch on the official repository.
# For example, this happens with dependabot.
on:
pull_request:
branches:
- '**' # all branches
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Developer Container:
#
# - The Docker test container is already thoroughly tested during dynamic software tests.
# However, it is essential to guarantee the functionality of the development container too.
#
# -- the container must build,
# -- the container must be filled with dummy data
# -- the website must be available (check status code of response)
# -- the test system must be working (run a few tests)
# -- the shared volumes must work (invalid modification must crash the application)
#
dev_container_checks:
name: Development Container
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build Catroweb App Image (cached)
uses: docker/build-push-action@v7.2.0
with:
context: .
file: docker/Dockerfile
load: true
tags: app.catroweb
build-args: APP_ENVIRONMENT=dev
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Build and start all containers (Docker Compose)
run: |
cd docker
docker compose -f docker-compose.dev.yaml up -d
- name: Check Symfony application (info)
run: |
docker exec app.catroweb bin/console about
- name: Create a livid environment with dummy data
run: |
docker exec app.catroweb bin/console catrobat:reset --hard --limit 5
- name: Warmup the cache
run: |
docker exec app.catroweb bin/console cache:warmup -e dev
docker exec app.catroweb bin/console cache:warmup -e test
- name: Run a few dynamic software tests
run: |
docker exec app.catroweb chmod -R 777 var
if ! docker exec app.catroweb bin/behat -s web-general; then
echo "Initial run failed. Rerunning failed scenarios..."
docker exec app.catroweb bin/behat -s web-general --rerun
else
echo "Initial run passed. No rerun needed."
fi
- name: Test shared volumes, by expecting a crash with invalid changes to the test file
id: shared-test-run-must-fail
continue-on-error: true
run: |
echo "INVALID" > tests/BehatFeatures/web/general/homepage.feature
docker exec app.catroweb bin/behat -s web-general tests/BehatFeatures/web/general/homepage.feature
TEST_RUN_EXIT_CODE=$?
echo "test-run-exit-code=$TEST_RUN_EXIT_CODE" > $GITHUB_ENV
( exit $TEST_RUN_EXIT_CODE )
- name: Assert shared volumes are working as expected
if: env.shared-test-run-must-fail.test-run-exit-code != '0'
run: |
exit -1
- name: Test response of the website running in the container
run: |
sudo apt-get update
sudo apt-get install apache2 wget
sudo sh -c "echo '\n127.0.0.1 catroweb' >> /etc/hosts"
wget --spider -S "http://catroweb:8080" 2>&1 | awk '/HTTP\// {print $2}' | grep 200
- name: DEBUG
if: failure()
run: |
docker ps -a
echo "--- App ---"
docker logs app.catroweb
echo "--- DB ---"
docker logs db.catroweb.test
echo "--- Chrome ---"
docker logs chrome.catroweb
- uses: actions/upload-artifact@v7
if: failure()
with:
name: screenshots_dev_container
path: tests/TestReports/TestScreenshots
- uses: actions/upload-artifact@v7
if: failure()
with:
name: dev_logs_dev_container
path: var/log/dev
- uses: actions/upload-artifact@v7
if: failure()
with:
name: test_logs_dev_container
path: var/log/test