@@ -2,110 +2,108 @@ name: build
2
2
3
3
on :
4
4
push :
5
- branches : [ main, release-10 .0.x, release-6 .0.x ]
5
+ branches : [ ' main', ' release-11 .0.x', ' release-10 .0.x' ]
6
6
tags :
7
7
- " **"
8
8
pull_request :
9
- branches : [ main, release-10 .0.x, release-6 .0.x ]
9
+ branches : [ ' main', ' release-11 .0.x', ' release-10 .0.x' ]
10
10
11
11
env :
12
+ CI_BUILD_DIRECTORY : ' /home/runner/work/ext-tika/ext-tika/.Build'
12
13
TIKA_VERSION : ' 1.24.1'
13
- TIKA_PATH : /ramfs/ data-tika-binaries
14
+ TIKA_PATH : ' /home/runner/work/ext-tika/ext-tika/.Build/ data-tika-binaries'
14
15
EXT_SOLR_VERSION : ' dev-release-11.5.x'
15
- TYPO3_DATABASE_NAME : ' typo3_ci'
16
- TYPO3_DATABASE_HOST : ' 127.0.0.1'
17
- TYPO3_DATABASE_USERNAME : ' root'
18
- TYPO3_DATABASE_PASSWORD : ' root'
19
- PHP_CS_FIXER_VERSION : ' ^3.0.2'
20
16
21
- LOCAL_IMAGE_NAME : ' solrci-image:latest '
22
- LOCAL_CONTAINER_NAME : ' solrci-container'
17
+ SOLR_IMAGE_TAG : ' release-11.5.x '
18
+ SOLR_CONTAINER_NAME : ' solrci-container'
23
19
TESTING_SOLR_PORT : 8983
24
- LOCAL_SOLR_VOLUME_NAME : ' solrci-volume'
25
- LOCAL_SOLR_VOLUME_PATH : ' /ramfs /data-solr'
20
+ SOLR_VOLUME_NAME : ' solrci-volume'
21
+ SOLR_VOLUME_PATH : ' /home/runner/work/ext-tika/ext-tika/.Build /data-solr'
26
22
27
- CI_BUILD_DIRECTORY : ' /ramfs/data-build'
28
23
jobs :
29
24
tests :
30
25
runs-on : ubuntu-latest
31
26
strategy :
32
27
matrix :
33
- PHP : [ '7.4' ]
34
- TYPO3 : [ '^11.5']
28
+ PHP : [ '7.4', '8.0', '8.1' ]
29
+ TYPO3 : [ '^11.5', '11.5.x-dev' ]
35
30
env :
31
+ TYPO3_DATABASE_NAME : ' typo3_ci'
32
+ TYPO3_DATABASE_HOST : ' 127.0.0.1'
33
+ TYPO3_DATABASE_USERNAME : ' root'
34
+ TYPO3_DATABASE_PASSWORD : ' root'
36
35
TYPO3_VERSION : ${{ matrix.TYPO3 }}
37
36
38
37
name : TYPO3 ${{ matrix.TYPO3 }} on PHP ${{ matrix.PHP }}
39
38
steps :
40
39
# Workaround for issue with actions/checkout@v2 wrong PR commit checkout: See https://github.com/actions/checkout/issues/299#issuecomment-677674415
41
- - name : Checkout current state of Pull Request
40
+ -
41
+ name : Checkout current state of Pull Request
42
42
if : github.event_name == 'pull_request'
43
43
uses : actions/checkout@v2
44
44
with :
45
+ fetch-depth : 2
45
46
ref : ${{ github.event.pull_request.head.sha }}
46
- - name : Checkout current state of Branch
47
+ -
48
+ name : Checkout current state of Branch
47
49
if : github.event_name == 'push'
48
50
uses : actions/checkout@v2
49
-
50
- - name : Cache Apache Tika Binaries
51
+ with :
52
+ fetch-depth : 2
53
+ # End: Workaround for issue with actions/checkout@v2 wrong PR commit checkout
54
+ -
55
+ name : Cache Apache Tika Binaries
51
56
id : tika-bineries
52
57
uses : actions/cache@v2
53
58
with :
54
59
path : $TIKA_PATH
55
60
key : tika-bineries
56
61
57
- - name : Mount RAMFS
62
+ -
63
+ name : Mount RAMFS
58
64
run : |
59
- id
60
- sudo mkdir /ramfs
61
- sudo mount -t tmpfs -o size=2048m none /ramfs
62
- sudo mkdir -p /ramfs/data-{solr,mysql,build} && sudo chown $USER /ramfs/data-* && sudo chown 8983:8983 /ramfs/data-solr
63
-
64
- - name : Setup PHP
65
+ sudo mkdir -p ${{ env.CI_BUILD_DIRECTORY }}
66
+ sudo mount -t tmpfs -o size=2048m none ${{ env.CI_BUILD_DIRECTORY }}
67
+ sudo mkdir -p ${{ env.CI_BUILD_DIRECTORY }}/data-{solr,mysql,tika-binaries} \
68
+ && sudo chown $USER ${{ env.CI_BUILD_DIRECTORY }}/data-{mysql,tika-binaries} \
69
+ && sudo chown 8983:8983 ${{ env.CI_BUILD_DIRECTORY }}/data-solr
70
+ -
71
+ name : ' Start Docker: Solr, Tika, MySQL'
72
+ run : |
73
+ docker run --name "MySQL-CI" -v ${{ env.CI_BUILD_DIRECTORY }}/data-mysql:/var/lib/mysql -p 3306:3306 \
74
+ -e MYSQL_DATABASE=$TYPO3_DATABASE_NAME \
75
+ -e MYSQL_ROOT_PASSWORD=$TYPO3_DATABASE_PASSWORD \
76
+ -d mysql:8.0 mysqld --default-authentication-plugin=mysql_native_password
77
+ sudo chmod g+w "$SOLR_VOLUME_PATH"
78
+ docker volume create --name "$LOCAL_VOLUME_NAME" --opt type=none --opt device="$SOLR_VOLUME_PATH" --opt o=bind
79
+ docker run --rm --name="$SOLR_CONTAINER_NAME" -d -p 127.0.0.1:8983:8983 -v "$LOCAL_VOLUME_NAME":"/var/solr" "typo3solr/ext-solr:$SOLR_IMAGE_TAG"
80
+ docker run -d -p 9998:9998 apache/tika:$TIKA_VERSION"-full"
81
+ docker ps
82
+ -
83
+ name : Setup PHP
65
84
uses : shivammathur/setup-php@v2
66
85
with :
67
86
php-version : ${{ matrix.PHP }}
68
87
coverage : xdebug
69
88
tools : composer:v2
70
-
71
- - name : CI-Bootstrap
89
+ -
90
+ name : CI-Bootstrap
72
91
run : |
73
- echo "CI_BUILD_DIRECTORY=$CI_BUILD_DIRECTORY/"
74
- cp -r ../ext-tika $CI_BUILD_DIRECTORY/.
75
- cd $CI_BUILD_DIRECTORY/ext-tika
76
92
./Build/Test/bootstrap.sh --skip-solr-install --skip-tika-server-install
77
- echo "Current Size of EXT:tika build Artefacts: " && du -sh $CI_BUILD_DIRECTORY/ext-tika
78
-
79
- - name : Build ext-solr docker image
80
- run : |
81
- cd $CI_BUILD_DIRECTORY/ext-tika
82
- docker build -t $LOCAL_IMAGE_NAME -f .Build/Web/typo3conf/ext/solr/Docker/SolrServer/Dockerfile .Build/Web/typo3conf/ext/solr/
83
-
84
- - name : ' Start Docker: Solr, Tika, MySQL'
93
+ echo "Current Size of EXT:tika build Artefacts: " \
94
+ && sudo du -sh "${{ env.CI_BUILD_DIRECTORY }}"
95
+ -
96
+ name : CI-Build
85
97
run : |
86
- docker run --name "MySQL-CI" -v /ramfs/data-mysql:/var/lib/mysql -p 3306:3306 \
87
- -e MYSQL_DATABASE=$TYPO3_DATABASE_NAME \
88
- -e MYSQL_ROOT_PASSWORD=$TYPO3_DATABASE_PASSWORD \
89
- -d mysql:8.0 mysqld --default-authentication-plugin=mysql_native_password
90
- sudo chmod g+w "$LOCAL_SOLR_VOLUME_PATH"
91
- docker volume create --name "$LOCAL_VOLUME_NAME" --opt type=none --opt device="$LOCAL_SOLR_VOLUME_PATH" --opt o=bind
92
- docker run --rm --name="$LOCAL_CONTAINER_NAME" -d -p 127.0.0.1:8983:8983 -v "$LOCAL_VOLUME_NAME":"/var/solr" "$LOCAL_IMAGE_NAME"
93
- docker run -d -p 9998:9998 apache/tika:$TIKA_VERSION"-full"
94
- docker ps
95
-
96
- - name : CI-Build
97
- run : |
98
- cd $CI_BUILD_DIRECTORY/ext-tika
99
98
./Build/Test/cibuild.sh
100
- echo "Current Size of EXT:tika build Artefacts: " && du -sh $CI_BUILD_DIRECTORY/ && du -sh $CI_BUILD_DIRECTORY/ext-tika/.Build/*
101
-
102
- - name : Upload code coverage to Scrutinizer
99
+ echo "Current Size of EXT:tika build Artefacts: " \
100
+ && sudo du -sh $CI_BUILD_DIRECTORY/ \
101
+ && sudo du -sh $CI_BUILD_DIRECTORY/*
102
+ -
103
+ name : Upload code coverage to Scrutinizer
103
104
run : |
104
- cd $CI_BUILD_DIRECTORY/ext-tika
105
- mkdir -p $GITHUB_WORKSPACE/bin
106
- wget https://scrutinizer-ci.com/ocular.phar -O $GITHUB_WORKSPACE/bin/ocular && chmod +x $GITHUB_WORKSPACE/bin/ocular
107
- php $GITHUB_WORKSPACE/bin/ocular code-coverage:upload --format=php-clover coverage.unit.clover
108
- php $GITHUB_WORKSPACE/bin/ocular code-coverage:upload --format=php-clover coverage.integration.clover
105
+ ocular code-coverage:upload --format=php-clover coverage.unit.clover
106
+ ocular code-coverage:upload --format=php-clover coverage.integration.clover
109
107
110
108
publish :
111
109
name : Publish new version to TER
@@ -116,21 +114,23 @@ jobs:
116
114
TYPO3_API_TOKEN : ${{ secrets.TYPO3_API_TOKEN }}
117
115
118
116
steps :
119
- - name : Checkout repository
117
+ -
118
+ name : Checkout repository
120
119
uses : actions/checkout@v2
121
120
with :
122
121
ref : ${{ github.event.pull_request.head.sha }}
123
-
124
- - name : Check tag
122
+ -
123
+ name : Check tag
125
124
run : |
126
125
if ! [[ ${{ github.ref }} =~ ^refs/tags/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then
127
126
exit 1
128
127
fi
129
- - name : Get version
128
+ -
129
+ name : Get version
130
130
id : get-version
131
131
run : echo ::set-output name=version::${GITHUB_REF/refs\/tags\//}
132
-
133
- - name : Get comment
132
+ -
133
+ name : Get comment
134
134
id : get-comment
135
135
run : |
136
136
readonly local comment=$(git tag -n99 -l ${{ steps.get-version.outputs.version }} | sed "s/^[0-9.]*[ ]*//g")
@@ -139,17 +139,18 @@ jobs:
139
139
else
140
140
echo ::set-output name=comment::$comment
141
141
fi
142
- - name : Setup PHP
142
+ -
143
+ name : Setup PHP
143
144
uses : shivammathur/setup-php@v2
144
145
with :
145
146
php-version : 7.4
146
147
extensions : intl, mbstring, json, zip, curl
147
148
tools : composer:v2
148
-
149
- - name : Install tailor
149
+ -
150
+ name : Install tailor
150
151
run : composer global require typo3/tailor --prefer-dist --no-progress
151
-
152
- - name : Publish EXT:tika to TER
152
+ -
153
+ name : Publish EXT:tika to TER
153
154
run : php ~/.composer/vendor/bin/tailor ter:publish --comment "${{ steps.get-comment.outputs.comment }}" ${{ steps.get-version.outputs.version }}
154
155
155
156
0 commit comments