Skip to content

Update main.yml with 7.0 final #116

Update main.yml with 7.0 final

Update main.yml with 7.0 final #116

Workflow file for this run

name: Docker Image CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
php: ["8.0"]
services:
mysql:
image: mysql:8
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: oxid
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
- uses: actions/checkout@v1
- name: enable experimental features
run: "sudo mkdir -p /etc/docker && echo '{\"experimental\": true}' | sudo tee /etc/docker/daemon.json"
- name: enable experimental features on client
run: "mkdir -p ~/.docker && echo '{\"experimental\": \"enabled\"}' | tee ~/.docker/config.json"
- name: service restart
run: sudo service docker restart
- name: Build the PHP Docker image with extensions
run: docker build . --squash --file extensions/php${{ matrix.php }}/Dockerfile --build-arg PHP=${{ matrix.php }} --tag oxidprojects/oxid-apache-php:plain-${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }} --tag ghcr.io/oxidprojects/docker-oxid:plain-${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }}
- name: Build the PHP Docker image with composer
run: docker build . --squash --file composer/Dockerfile --build-arg FROM=oxidprojects/oxid-apache-php:plain-${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }} --build-arg PHP=${{ matrix.php }} --tag oxidprojects/oxid-apache-php:composer-${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }} --tag ghcr.io/oxidprojects/docker-oxid:composer-${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }}
- name: Build the OXID Docker image
run: docker build . --squash --file tools/Dockerfile --build-arg FROM=oxidprojects/oxid-apache-php:composer-${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }} --build-arg PHP=${{ matrix.php }} --tag oxidprojects/oxid-apache-php:${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }} --tag ghcr.io/oxidprojects/docker-oxid:${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }}
- name: run the image for testing in background
run: docker run --name oxid -d oxidprojects/oxid-apache-php:${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }}
- name: test image
run: docker exec oxid composer -v
- name: install oxid
run: docker exec oxid composer create-project --no-interaction -s dev --no-dev oxid-esales/oxideshop-project . dev-b-7.0-ce
# - name: run oxid console
# run: docker exec oxid vendor/bin/oe-console
- name: Docker Login
run: docker login -u ${{ secrets.DOCKER_HUB_USER }} -p ${{ secrets.DOCKER_HUB_PASSWORD }}
- name: Log into ghcr
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Publish oxid php${{ matrix.php }} Docker image on Docker Hub
run: docker push oxidprojects/oxid-apache-php:${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }}
- name: Publish oxid php${{ matrix.php }} Docker image on GHCR
run: docker push ghcr.io/oxidprojects/docker-oxid:${{ steps.extract_branch.outputs.branch }}-php${{ matrix.php }}