From e2544ba2d074b6dfa4e8df35c2c4e996bec377de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Thu, 7 Dec 2023 11:45:18 +0100 Subject: [PATCH] [CI] Solr image: review suggestions (cron, image tests) --- .github/workflows/gha-docker-solr.yaml | 60 +++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/.github/workflows/gha-docker-solr.yaml b/.github/workflows/gha-docker-solr.yaml index fc76c9559f..7e568a6e8f 100644 --- a/.github/workflows/gha-docker-solr.yaml +++ b/.github/workflows/gha-docker-solr.yaml @@ -1,26 +1,74 @@ name: Build and publish Solr Docker image on: - workflow_dispatch: ~ + workflow_dispatch: + inputs: + force: + default: false + required: false + type: boolean + description: "Push new image even when tests fail" + schedule: + - cron: "45 21 3 * *" env: IMAGE_NAME: ghcr.io/ibexa/core/solr jobs: build-and-publish: - runs-on: ubuntu-latest + runs-on: "ubuntu-20.04" permissions: packages: write + services: + redis: + image: redis + ports: + - 6379:6379 + options: + --memory=60m steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Build Solr image + run: docker build -t "$IMAGE_NAME:latest" docker/solr + + - name: Start Solr image + run: | + docker run --health-cmd "solr status" \ + --health-interval 10s --health-timeout 5s --health-retries 10 \ + -d -p 8983:8983 "$IMAGE_NAME:latest" + + - name: Setup PHP Action + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + coverage: none + + - name: Add solr dependency + run: | + VERSION=$(jq -r '.extra | ."branch-alias" | ."dev-main"' < composer.json) + composer require --no-update "ibexa/solr:$VERSION" + + - uses: "ramsey/composer-install@v2" + with: + dependency-versions: "highest" + + - name: Run integration test suite + run: composer test-integration-solr + continue-on-error: ${{ inputs.force != '' }} + env: + CUSTOM_CACHE_POOL: singleredis + CACHE_HOST: 127.0.0.1 + CORES_SETUP: single + - name: Log in to the Container registry uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build image - run: docker build -t "$IMAGE_NAME:latest" docker/solr + - name: Push image - if: github.event_name == 'workflow_dispatch' run: docker push "$IMAGE_NAME"