Skip to content

Commit 4fc5c83

Browse files
authored
Merge pull request #143 from JohT/feature/separate-report-reference-documentation-generation
Separate report reference documentation generation
2 parents ed48c94 + 792f627 commit 4fc5c83

14 files changed

+159
-44
lines changed

.github/workflows/cypher-reference-documentation.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,31 @@ jobs:
3232
run: |
3333
./../scripts/documentation/generateCypherReference.sh
3434
35+
- name: Use git to detect changes in the regenerated document and set generated_document_changed
36+
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
37+
38+
- name: Display generated_document_changed
39+
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
40+
3541
- name: Archive generated cypher reference document
42+
if: env.generated_document_changed
3643
uses: actions/upload-artifact@v4
3744
with:
3845
name: cypher-reference-document
3946
path: ./cypher/CYPHER.md
4047
if-no-files-found: error
4148
retention-days: 5
4249

43-
- name: Use git to detect changes in the regenerated document and set generated_document_changed
44-
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
45-
46-
- name: Display generated_document_changed
47-
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
48-
4950
- name: Commit generated cypher reference document if there were changes
5051
# Only run when a pull request gets merged or a commit is pushed to the main branch.
5152
# And only run when the generated document changed to avoid an empty commit or an error while committing.
5253
if: github.event_name == 'push' && env.generated_document_changed
5354
run: |
5455
git config --global user.name '${{ env.CI_COMMIT_AUTHOR }}'
5556
git config --global user.email '[email protected]'
56-
git pull
57+
set -o errexit -o pipefail -o xtrace
5758
git add ./cypher/CYPHER.md
59+
git status
5860
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
59-
git push
61+
git status
62+
git push --verbose

.github/workflows/environment-variables-reference-documentation.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,31 @@ jobs:
3232
run: |
3333
./documentation/generateEnvironmentVariableReference.sh
3434
35+
- name: Use git to detect changes in the regenerated document and set generated_document_changed
36+
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
37+
38+
- name: Display generated_document_changed
39+
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
40+
3541
- name: Archive generated environment variables reference document
42+
if: env.generated_document_changed
3643
uses: actions/upload-artifact@v4
3744
with:
3845
name: environment-variables-reference-document
3946
path: ./scripts/ENVIRONMENT_VARIABLES.md
4047
if-no-files-found: error
4148
retention-days: 5
4249

43-
- name: Use git to detect changes in the regenerated document and set generated_document_changed
44-
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
45-
46-
- name: Display generated_document_changed
47-
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
48-
4950
- name: Commit generated environment variables reference document if there were changes
5051
# Only run when a pull request gets merged or a commit is pushed to the main branch.
5152
# And only run when the generated document changed to avoid an empty commit or an error while committing.
5253
if: github.event_name == 'push' && env.generated_document_changed
5354
run: |
5455
git config --global user.name '${{ env.CI_COMMIT_AUTHOR }}'
5556
git config --global user.email '[email protected]'
56-
git pull
57+
set -o errexit -o pipefail -o xtrace
5758
git add ./scripts/ENVIRONMENT_VARIABLES.md
59+
git status
5860
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
59-
git push
61+
git status
62+
git push --verbose

.github/workflows/java-code-analysis.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,9 @@ jobs:
179179
git config --global user.name '${{ env.CI_COMMIT_AUTHOR }}'
180180
git config --global user.email '[email protected]'
181181
git config --local http.postBuffer 524288000
182-
git pull
182+
set -o errexit -o pipefail -o xtrace
183183
git add results
184184
git status
185185
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
186-
git push
186+
git status
187+
git push --verbose
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Generate report reference documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'results/**' # Only run results have been updates
9+
- '!results/*.md' # Ignore when report reference documentation itself changes
10+
- '.github/workflows/report-reference-documentation.yml' # or when this file was changed
11+
pull_request:
12+
branches:
13+
- main
14+
paths:
15+
- 'results/**' # Only run results have been updates
16+
- '!results/*.md' # Ignore when report reference documentation itself changes
17+
- '.github/workflows/report-reference-documentation.yml' # or when this file was changed
18+
19+
jobs:
20+
reports:
21+
runs-on: ubuntu-latest
22+
env:
23+
CI_COMMIT_MESSAGE: Automated report reference document generation (CI)
24+
CI_COMMIT_AUTHOR: ${{ github.event.repository.name }} Continuous Integration
25+
26+
steps:
27+
- name: Checkout git repository
28+
uses: actions/checkout@v4
29+
with:
30+
token: ${{ secrets.WORKFLOW_GIT_ACCESS_TOKEN }}
31+
32+
- name: Generate report reference document
33+
working-directory: results
34+
run: |
35+
./../scripts/documentation/generateReportReferences.sh
36+
37+
- name: Use git to detect changes in the regenerated documenta and set generated_document_changed
38+
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
39+
40+
- name: Display generated_document_changed
41+
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
42+
43+
- name: Archive generated report reference document
44+
if: env.generated_document_changed
45+
uses: actions/upload-artifact@v4
46+
with:
47+
name: report-reference-document
48+
path: ./results/*.md
49+
if-no-files-found: error
50+
retention-days: 5
51+
52+
- name: Commit generated report reference document if there were changes
53+
# Only run when a pull request gets merged or a commit is pushed to the main branch.
54+
# And only run when the generated document changed to avoid an empty commit or an error while committing.
55+
if: github.event_name == 'push' && env.generated_document_changed
56+
run: |
57+
git config --global user.name '${{ env.CI_COMMIT_AUTHOR }}'
58+
git config --global user.email '[email protected]'
59+
set -o errexit -o pipefail -o xtrace
60+
git add ./results/*.md
61+
git status
62+
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
63+
git status
64+
git push --verbose

.github/workflows/scripts-reference-documentation.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,31 @@ jobs:
3232
run: |
3333
./documentation/generateScriptReference.sh
3434
35+
- name: Use git to detect changes in the regenerated document and set generated_document_changed
36+
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
37+
38+
- name: Display generated_document_changed
39+
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
40+
3541
- name: Archive generated scripts reference document
42+
if: env.generated_document_changed
3643
uses: actions/upload-artifact@v4
3744
with:
3845
name: scripts-reference-document
3946
path: ./scripts/SCRIPTS.md
4047
if-no-files-found: error
4148
retention-days: 5
4249

43-
- name: Use git to detect changes in the regenerated document and set generated_document_changed
44-
run: git diff --quiet || echo "generated_document_changed=true" >> $GITHUB_ENV
45-
46-
- name: Display generated_document_changed
47-
run: echo "generated_document_changed=${{ env.generated_document_changed}}"
48-
4950
- name: Commit generated scripts reference document if there were changes
5051
# Only run when a pull request gets merged or a commit is pushed to the main branch.
5152
# And only run when the generated document changed to avoid an empty commit or an error while committing.
5253
if: github.event_name == 'push' && env.generated_document_changed
5354
run: |
5455
git config --global user.name '${{ env.CI_COMMIT_AUTHOR }}'
5556
git config --global user.email '[email protected]'
56-
git pull
57+
set -o errexit -o pipefail -o xtrace
5758
git add ./scripts/SCRIPTS.md
59+
git status
5860
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
59-
git push
61+
git status
62+
git push --verbose

.github/workflows/typescript-code-analysis.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,9 @@ jobs:
179179
git config --global user.name '${{ env.CI_COMMIT_AUTHOR }}'
180180
git config --global user.email '[email protected]'
181181
git config --local http.postBuffer 524288000
182-
git pull
182+
set -o errexit -o pipefail -o xtrace
183183
git add results
184184
git status
185185
git commit -m "${{ env.CI_COMMIT_MESSAGE }}"
186-
git push
186+
git status
187+
git push --verbose

scripts/copyReportsIntoResults.sh

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,4 @@ for report_source_folder in **/"${REPORTS_DIRECTORY}"; do
4141

4242
rm -rf "${reportTargetDirectory}"
4343
cp -Rp "${report_source_folder}" "${reportTargetDirectory}"
44-
done
45-
46-
# Generate JUPYTER_REPORTS.md containing a reference to all Jupyter Notebook Markdown reports in the "results" directory and its subdirectories.
47-
(cd "./../${RESULTS_DIRECTORY}" && exec "${SCRIPTS_DIR}/documentation/generateJupyterReportReference.sh")
48-
49-
# Generate CSV_REPORTS.md containing a reference to all CSV cypher query reports in the "results" directory and its subdirectories.
50-
(cd "./../${RESULTS_DIRECTORY}" && exec "${SCRIPTS_DIR}/documentation/generateCsvReportReference.sh")
51-
52-
# Generate IMAGES.md containing a reference to all PNG images in the "results" directory and its subdirectories.
53-
(cd "./../${RESULTS_DIRECTORY}" && exec "${SCRIPTS_DIR}/documentation/generateImageReference.sh")
44+
done

scripts/documentation/generateCsvReportReference.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
set -o errexit -o pipefail
1010

1111
# Output Markdown file name
12-
output_file="CSV_REPORTS.md"
12+
markdown_file="CSV_REPORTS.md"
1313

1414
# Function to count rows in a CSV file
1515
count_rows() {
@@ -23,6 +23,8 @@ get_source_query() {
2323
echo "$source_query"
2424
}
2525

26+
echo "generateCsvReportReference: Generating ${markdown_file}..."
27+
2628
# Create the Markdown header
2729
{
2830
echo "# CSV Cypher Query Reports Reference"
@@ -33,10 +35,10 @@ get_source_query() {
3335
# Create the Markdown table header
3436
echo "| CSV File | Analysis | Number of Rows | Source Query |"
3537
echo "| -------- | -------- | -------------- | ------------ |"
36-
} > "$output_file"
38+
} > "$markdown_file"
3739

3840
# Find and process CSV files
39-
find . -type f -name "*.csv" | while IFS= read -r csv_file; do
41+
find . -type f -name "*.csv" | sort | while IFS= read -r csv_file; do
4042
num_rows=$(count_rows "$csv_file")
4143
source_query=$(get_source_query "$csv_file")
4244

@@ -53,7 +55,7 @@ find . -type f -name "*.csv" | while IFS= read -r csv_file; do
5355
source_query_link="./../cypher/$source_query"
5456

5557
# Append a new row to the Markdown table
56-
echo "| [$base_name]($csv_link) | $main_dir | $num_rows | [$source_query]($source_query_link) |" >> "$output_file"
58+
echo "| [$base_name]($csv_link) | $main_dir | $num_rows | [$source_query]($source_query_link) |" >> "$markdown_file"
5759
done
5860

59-
echo "CSV table and header generated in $output_file"
61+
echo "generateCsvReportReference: Successfully generated ${markdown_file}."

scripts/documentation/generateCypherReference.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ set -o errexit -o pipefail
99
# Markdown file name
1010
markdown_file="CYPHER.md"
1111

12+
echo "generateCypherReference: Generating ${markdown_file}..."
13+
1214
{
1315
echo "# Cypher Reference"
1416
echo ""
@@ -43,3 +45,5 @@ find . -type f -name "*.cypher" | sort | while read -r cypher_file; do
4345
# Add the script file and its description to the Markdown table
4446
echo "| ${link} | ${last_path_segment%%.} | ${description//|/\\|} |" >> ${markdown_file}
4547
done
48+
49+
echo "generateCypherReference: Successfully generated ${markdown_file}."

scripts/documentation/generateEnvironmentVariableReference.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@ set -o errexit -o pipefail
1414
DOCUMENTATION_SCRIPTS_DIR=${DOCUMENTATION_SCRIPTS_DIR:-$( CDPATH=. cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P )} # Repository directory containing the documentation generation scripts
1515
echo "generateEnvironmentVariablesReference: DOCUMENTATION_SCRIPTS_DIR=${DOCUMENTATION_SCRIPTS_DIR}"
1616

17+
echo "generateEnvironmentVariableReference: Generating ENVIRONMENT_VARIABLES.md..."
18+
1719
# Clear existing markdown document
1820
source "${DOCUMENTATION_SCRIPTS_DIR}/appendEnvironmentVariables.sh" "clear" || exit 1
1921

2022
# Loop through all script files in the current directory
2123
find . -type f -name "*.sh" | sort | while read -r scriptFile; do
2224
echo "generateEnvironmentVariablesReference: Searching for environment variables in ${scriptFile}"
2325
source "${DOCUMENTATION_SCRIPTS_DIR}/appendEnvironmentVariables.sh" "${scriptFile}" || exit 1
24-
done
26+
done
27+
28+
echo "generateEnvironmentVariableReference: Successfully generated ENVIRONMENT_VARIABLES.md."

0 commit comments

Comments
 (0)