Skip to content

Commit d19bdf6

Browse files
authored
Merge pull request #10 from impresscms-dev/add-tests
Add tests
2 parents f839e10 + 6de88ba commit d19bdf6

23 files changed

+390
-21
lines changed

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,10 @@ updates:
77
interval: monthly
88
labels:
99
- dependencies
10+
11+
- package-ecosystem: "composer"
12+
directory: "/"
13+
schedule:
14+
interval: monthly
15+
labels:
16+
- dependencies

.github/workflows/on-pull-request.yml

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,37 @@ on:
66
- main
77

88
jobs:
9-
9+
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
php:
15+
- 5.6
16+
17+
steps:
18+
- name: Checkouting code...
19+
uses: actions/checkout@v3
20+
21+
- name: Installing PHP...
22+
uses: shivammathur/[email protected]
23+
with:
24+
php-version: ${{ matrix.php }}
25+
extensions: curl, gd, json, mbstring, pcre, session
26+
coverage: none
27+
tools: composer:v2
28+
29+
- name: Setup BATS
30+
uses: mig4/setup-bats@v1
31+
with:
32+
bats-version: 1.9.0
33+
34+
- name: Test
35+
run: bats tests
36+
1037
dependabot:
11-
# needs:
12-
# - test
38+
needs:
39+
- test
1340
permissions:
1441
pull-requests: write
1542
contents: write

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
/.idea/
2+
/vendor/
3+
/composer.lock

action.yml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,33 @@ inputs:
2121
runs:
2222
using: 'composite'
2323
steps:
24-
- name: Setting initial data...
25-
run: |
26-
mkdir -p "${{ inputs.output_path }}" || true
27-
28-
GENERATOR_DOCS_PATH=$(php ${{ github.action_path }}/bin/realpath.php "${{ inputs.output_path }}")
29-
GENERATOR_TMP_FILES_PATH="${{ runner.temp }}/phpdocs-${{ github.sha }}-${{ github.run_id }}-${{ github.github.run_attempt }}"
30-
31-
echo "GENERATOR_TMP_FILES_PATH=$GENERATOR_TMP_FILES_PATH" >> $GITHUB_ENV
32-
echo "GENERATOR_DOCS_PATH=$GENERATOR_DOCS_PATH" >> $GITHUB_ENV
33-
34-
rm -rf "$GENERATOR_TMP_FILES_PATH" || true
35-
mkdir -p "$GENERATOR_TMP_FILES_PATH"
24+
- name: Setting env variables...
25+
env:
26+
GENERATOR_TMP_FILES_PATH: "${{ runner.temp }}/phpdocs-${{ github.sha }}-${{ github.run_id }}-${{ github.github.run_attempt }}"
27+
GENERATOR_DOCS_PATH: ${{ inputs.output_path }}
28+
run: $ACTION_BIN_PATH/generate-env.sh "$GENERATOR_TMP_FILES_PATH" "$GENERATOR_DOCS_PATH" >> $GITHUB_ENV
29+
shell: bash
30+
31+
- name: Creating required paths...
32+
run: $ACTION_BIN_PATH/create-paths.sh
3633
shell: bash
3734

3835
- name: Running phpDocumentator...
39-
run: bash ${{ github.action_path }}/bin/phpdoc.sh "${{ inputs.ignored_files }}" "${{ inputs.phpdocumentor_version }}"
36+
run: $ACTION_BIN_PATH/phpdoc.sh "${{ inputs.ignored_files }}" "${{ inputs.phpdocumentor_version }}"
4037
shell: bash
4138

4239
- name: Installing evert/phpdoc-md...
43-
run: composer global require 'evert/phpdoc-md=~0.2.0'
40+
run: $ACTION_BIN_PATH/add-composer-packages.sh
4441
shell: bash
4542

4643
- name: Generating documentation...
47-
run: composer global exec phpdocmd "$GENERATOR_TMP_FILES_PATH/structure.xml" "$GENERATOR_DOCS_PATH"
44+
run: $ACTION_BIN_PATH/generate-docs.sh
4845
shell: bash
4946

5047
- name: Uninstalling evert/phpdoc-md...
51-
run: composer global remove evert/phpdoc-md
48+
run: $ACTION_BIN_PATH/remove-composer-dependencies.sh
5249
shell: bash
5350

5451
- name: Deleting tmp data...
55-
run: |
56-
rm -rf "$GENERATOR_TMP_FILES_PATH" || true
52+
run: $ACTION_BIN_PATH/remove-tmp-data.sh
5753
shell: bash

bin/add-composer-packages.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
6+
7+
# shellcheck disable=SC2046
8+
composer global require $("$SCRIPT_DIR"/get-composer-dependencies.php)

bin/create-paths.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
3+
mkdir -p "$GENERATOR_DOCS_PATH" || true
4+
5+
rm -rf "$GENERATOR_TMP_FILES_PATH" || true
6+
mkdir -p "$GENERATOR_TMP_FILES_PATH"

bin/generate-docs.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
composer global exec phpdocmd "$GENERATOR_TMP_FILES_PATH/structure.xml" "$GENERATOR_DOCS_PATH"

bin/generate-env.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env bash
2+
GENERATOR_TMP_FILES_PATH=$1
3+
GENERATOR_DOCS_PATH=$2
4+
5+
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
6+
7+
cat <<EOF
8+
GENERATOR_TMP_FILES_PATH=$("$SCRIPT_DIR/realpath.php" "$GENERATOR_TMP_FILES_PATH")
9+
GENERATOR_DOCS_PATH=$("$SCRIPT_DIR/realpath.php" "$GENERATOR_DOCS_PATH")
10+
ACTION_BIN_PATH=$SCRIPT_DIR
11+
EOF

bin/get-composer-dependencies.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
$withVersions = !isset($argv[1]) || ((int)$argv[1] > 0);
5+
6+
$contents = file_get_contents(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'composer.json');
7+
$composer = json_decode($contents, true);
8+
9+
$packages = [];
10+
foreach ($composer['require'] as $package => $version) {
11+
if ($withVersions) {
12+
$packages[] = $package . "=" . $version;
13+
} else {
14+
$packages[] = $package;
15+
}
16+
}
17+
18+
echo implode(" ", $packages);

bin/phpdoc.sh

100644100755
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
IGNORED_FILES=$1
44
PHPDOC_TAG=$2
55

6+
# shellcheck disable=SC2089
67
GENERATOR_DOCKER_APP_ARGS="--target=/result --directory=/data --cache-folder=/tmp -v --template=xml --ansi --no-interaction --ignore=\"vendor/**\""
78
if [ "$IGNORED_FILES" != "" ]; then
89
while read -r line
@@ -11,6 +12,7 @@ if [ "$IGNORED_FILES" != "" ]; then
1112
done <<< "$IGNORED_FILES"
1213
fi;
1314

15+
# shellcheck disable=SC2086 disable=SC1101 disable=SC2090
1416
docker run \
1517
--rm \
1618
-v ${PWD}:/data \

0 commit comments

Comments
 (0)