File tree 7 files changed +105
-0
lines changed
7 files changed +105
-0
lines changed Original file line number Diff line number Diff line change
1
+ .git /
2
+ .github /
3
+ validation /
4
+ vendor /
5
+ docs /
6
+ tools /
7
+ ** /.DS_Store
8
+ ** /.idea
9
+ ** /composer.lock
10
+ tests /output
11
+ .phpunit.result.cache
12
+ ** /* .ast
13
+ ** /. * .swp
14
+ ** /. * .swo
15
+ ** /Dockerfile
16
+ .dockerignore
Original file line number Diff line number Diff line change 3
3
/tests /cases /** /* .php text eol =lf
4
4
5
5
/.vscode export-ignore
6
+ /ci export-ignore
6
7
/docs export-ignore
7
8
/experiments export-ignore
8
9
/php-langspec export-ignore
17
18
/Contributing.md export-ignore
18
19
/README.md export-ignore
19
20
/phpunit.xml export-ignore
21
+ /.dockerignore export-ignore
Original file line number Diff line number Diff line change
1
+ # Runs tolerant-php-parser's tests
2
+ name : CI
3
+
4
+ # Controls when the action will run.
5
+ on :
6
+ # Triggers the workflow on push or pull request events but only for the main branch
7
+ push :
8
+ branches : [ main ]
9
+ pull_request :
10
+ branches : [ main ]
11
+
12
+ # Allows you to run this workflow manually from the Actions tab
13
+ workflow_dispatch :
14
+
15
+ # A workflow run is made up of one or more jobs that can run sequentially or in parallel
16
+ jobs :
17
+ # This workflow contains a single job called "build"
18
+ build :
19
+ # The type of runner that the job will run on
20
+ runs-on : ubuntu-latest
21
+
22
+ # See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-environment-variables-in-a-matrix
23
+ strategy :
24
+ fail-fast : false
25
+ matrix :
26
+ include :
27
+ # NOTE: If this is not quoted, the yaml parser will convert numbers such as 8.0 to the number 8,
28
+ # and the docker image `php:8` is the latest minor version of php 8.x (8.1).
29
+ - PHP_VERSION : ' 7.2'
30
+ - PHP_VERSION : ' 7.3'
31
+ - PHP_VERSION : ' 7.4'
32
+ - PHP_VERSION : ' 8.0'
33
+ - PHP_VERSION : ' 8.1'
34
+ - PHP_VERSION : ' 8.2.0beta2'
35
+
36
+ # Steps represent a sequence of tasks that will be executed as part of the job
37
+ steps :
38
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
39
+ - uses : actions/checkout@v2
40
+
41
+ # Runs a single command using the runners shell
42
+ - name : Build and test in docker
43
+ run : bash ci/run_tests_dockerized ${{ matrix.PHP_VERSION }}
Original file line number Diff line number Diff line change @@ -6,3 +6,4 @@ tests/output
6
6
* .ast
7
7
. * .swp
8
8
. * .swo
9
+ .phpunit.result.cache
Original file line number Diff line number Diff line change
1
+ ARG PHP_VERSION
2
+ FROM php:$PHP_VERSION
3
+ RUN curl https://getcomposer.org/download/latest-2.x/composer.phar -o /usr/bin/composer.phar && chmod a+x /usr/bin/composer.phar
4
+ WORKDIR /tolerant-php-parser
5
+ RUN apt-get update && apt-get install -y unzip && apt-get clean
6
+ ARG COMPOSER_OPTIONS
7
+ ENV COMPOSER_OPTIONS=$COMPOSER_OPTIONS
8
+
9
+ ADD composer.json ./
10
+ RUN composer.phar install $COMPOSER_OPTIONS && composer.phar clear-cache
11
+
12
+ ADD . .
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ # This runs the tests that have been set up in GitHub Workflows so far
3
+
4
+ # -x Exit immediately if any command fails
5
+ # -e Echo all commands being executed.
6
+ set -xe
7
+ php -d short_open_tag=0 ./vendor/bin/phpunit --testsuite invariants
8
+ php -d short_open_tag=0 ./vendor/bin/phpunit --testsuite grammar
9
+ php -d short_open_tag=0 ./vendor/bin/phpunit --testsuite api
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ if [ $# != 1 ]; then
3
+ echo " Usage: $0 PHP_VERSION" 1>&2
4
+ echo " e.g. $0 8.0" 1>&2
5
+ echo " The PHP_VERSION is the version of the php docker image to use" 1>&2
6
+ echo " This runs the tests that have been set up in GitHub Workflows so far" 1>&2
7
+ exit 1
8
+ fi
9
+ # -x Exit immediately if any command fails
10
+ # -e Echo all commands being executed.
11
+ # -u fail for undefined variables
12
+ set -xeu
13
+ PHP_VERSION=$1
14
+ COMPOSER_OPTIONS=" "
15
+ # lexicographic comparison
16
+ if [ " $PHP_VERSION " > " 8.1" ]; then
17
+ COMPOSER_OPTIONS=" --ignore-platform-reqs"
18
+ fi
19
+
20
+ DOCKER_IMAGE=" tolerant-php-parser-test-runner:$PHP_VERSION "
21
+ docker build --build-arg=" PHP_VERSION=$PHP_VERSION " --build-arg=" COMPOSER_OPTIONS=$COMPOSER_OPTIONS " --tag=" $DOCKER_IMAGE " -f ci/Dockerfile .
22
+ docker run --rm $DOCKER_IMAGE ci/run_tests
You can’t perform that action at this time.
0 commit comments