Skip to content

Commit

Permalink
Add GitHub workflow elifesciences/issues#9004 (#10)
Browse files Browse the repository at this point in the history
  • Loading branch information
scottaubrey authored Oct 16, 2024
2 parents e1459b5 + d8d8f06 commit 5591529
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI Pipeline

on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
push:
branches:
- master

jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
php_version: [7.1, 7.2, 7.3, 7.4]
task: ['test', 'test-lowest']
steps:
- uses: actions/checkout@v4
- name: Run tests
run: make PHP_VERSION=${{ matrix.php_version }} ${{ matrix.task }}
tests-future-versions:
runs-on: ubuntu-latest
strategy:
matrix:
php_version: [8.0, 8.1, 8.2, 8.3]
task: ['test', 'test-lowest']
steps:
- uses: actions/checkout@v4
- name: Run tests against all major versions of PHP
run: make PHP_VERSION=${{ matrix.php_version }} ${{ matrix.task }}
continue-on-error: true
5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
ARG PHP_VERSION=7.4
FROM php:${PHP_VERSION}

RUN apt-get update && apt-get install -y git unzip && rm -rf /var/lib/apt/lists/*
COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer
35 changes: 35 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
.PHONY: build test clean test
build:
$(if $(PHP_VERSION),,$(error PHP_VERSION make variable needs to be set))
docker buildx build --build-arg=PHP_VERSION=$(PHP_VERSION) -t php-composer:$(PHP_VERSION) .

lint: build
docker run --rm -v ./:/code -v/code/vendor php-composer:$(PHP_VERSION) bash -c 'cd /code && composer update && vendor/bin/phpcs --standard=phpcs.xml.dist --warning-severity=0 -p src/ test/'

test: build lint
docker run --rm -v ./:/code -e dependencies=highest -v/code/vendor php-composer:$(PHP_VERSION) bash -c 'cd /code && composer update && ./project_tests.sh'

test-lowest: build lint
docker run --rm -v ./:/code -e dependencies=lowest -v/code/vendor php-composer:$(PHP_VERSION) bash -c 'cd /code && ./project_tests.sh'


test-7.1:
@$(MAKE) PHP_VERSION=7.1 test test-lowest
test-7.2:
@$(MAKE) PHP_VERSION=7.2 test test-lowest
test-7.3:
@$(MAKE) PHP_VERSION=7.3 test test-lowest
test-7.4:
@$(MAKE) PHP_VERSION=7.4 test test-lowest
test-8.0:
@$(MAKE) PHP_VERSION=8.0 test test-lowest
test-8.1:
@$(MAKE) PHP_VERSION=8.1 test test-lowest
test-8.2:
@$(MAKE) PHP_VERSION=8.2 test test-lowest
test-8.3:
@$(MAKE) PHP_VERSION=8.3 test test-lowest

test-all: test-7.1 test-7.2 test-7.3 test-7.4 test-8.0 test-8.1 test-8.2 test-8.3

test-all-supported: test-7.1 test-7.2 test-7.3 test-7.4

0 comments on commit 5591529

Please sign in to comment.