diff --git a/.gitea/scripts/generate-report-index.sh b/.gitea/scripts/generate-report-index.sh
new file mode 100644
index 0000000..5e63f7a
--- /dev/null
+++ b/.gitea/scripts/generate-report-index.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SHA8="${GITHUB_SHA:0:8}"
+REPORTS_DIR="reports/${SHA8}"
+
+mkdir -p "${REPORTS_DIR}"
+
+BATS_PASS=$(grep -c 'ok' "${REPORTS_DIR}/bats/results.txt" 2>/dev/null || echo 0)
+BATS_FAIL=$(grep -c 'not ok' "${REPORTS_DIR}/bats/results.txt" 2>/dev/null || echo 0)
+CUCUMBER_PASS=$(jq '.summary.passed // 0' "${REPORTS_DIR}/cucumber/report.json" 2>/dev/null || echo 0)
+CUCUMBER_FAIL=$(jq '.summary.failed // 0' "${REPORTS_DIR}/cucumber/report.json" 2>/dev/null || echo 0)
+
+{
+ echo "
"
+ echo "CI report ${SHA8}"
+ echo ""
+ echo "CI report ${SHA8}
"
+ echo "Commit: ${GITHUB_SHA}
Branch: ${GITHUB_REF_NAME}
Run: ${GITHUB_RUN_ID}
"
+ echo "| Suite | Passed | Failed | Report |
"
+ echo "| Bats | ${BATS_PASS} | ${BATS_FAIL} | "
+ echo "results.txt"
+ echo " | junit.xml |
"
+ echo "| Cucumber | ${CUCUMBER_PASS} | ${CUCUMBER_FAIL} | "
+ echo "report"
+ echo " | json |
"
+ echo "
"
+} > "${REPORTS_DIR}/index.html"
diff --git a/.gitea/workflows/build-feature.yml b/.gitea/workflows/build-feature.yml
index 19b3144..d6a354e 100644
--- a/.gitea/workflows/build-feature.yml
+++ b/.gitea/workflows/build-feature.yml
@@ -16,13 +16,12 @@ env:
GITEA_API_URL: ${{ fromJson(inputs.env_json).GITEA_API_URL }}
PAGES_HOST: ${{ fromJson(inputs.env_json).PAGES_HOST }}
GIT_PAGES_PUBLISH_URL: ${{ fromJson(inputs.env_json).GIT_PAGES_PUBLISH_URL }}
+ GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
+ GIT_PAGES_PUBLISH_TOKEN: ${{ secrets.GIT_PAGES_PUBLISH_TOKEN }}
jobs:
bats:
runs-on: ubuntu-latest
- env:
- GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
- GIT_PAGES_PUBLISH_TOKEN: ${{ secrets.GIT_PAGES_PUBLISH_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
@@ -74,9 +73,6 @@ jobs:
runs-on: ubuntu-latest
container:
image: ${{ inputs.cucumber-node-image }}
- env:
- GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
- GIT_PAGES_PUBLISH_TOKEN: ${{ secrets.GIT_PAGES_PUBLISH_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
@@ -144,9 +140,6 @@ jobs:
build:
runs-on: ubuntu-latest
needs: [bats, cucumber]
- env:
- GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
- GIT_PAGES_PUBLISH_TOKEN: ${{ secrets.GIT_PAGES_PUBLISH_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
@@ -156,34 +149,11 @@ jobs:
- name: Generate report index
shell: bash
- run: |
- SHA8="${GITHUB_SHA:0:8}"
- mkdir -p "reports/${SHA8}"
- BATS_PASS=$(grep -c 'ok' "reports/${SHA8}/bats/results.txt" 2>/dev/null || echo 0)
- BATS_FAIL=$(grep -c 'not ok' "reports/${SHA8}/bats/results.txt" 2>/dev/null || echo 0)
- CUCUMBER_PASS=$(jq '.summary.passed // 0' "reports/${SHA8}/cucumber/report.json" 2>/dev/null || echo 0)
- CUCUMBER_FAIL=$(jq '.summary.failed // 0' "reports/${SHA8}/cucumber/report.json" 2>/dev/null || echo 0)
- {
- echo ""
- echo "CI report ${SHA8}"
- echo ""
- echo "CI report ${SHA8}
"
- echo "Commit: ${GITHUB_SHA}
Branch: ${GITHUB_REF_NAME}
Run: ${GITHUB_RUN_ID}
"
- echo "| Suite | Passed | Failed | Report |
"
- echo "| Bats | ${BATS_PASS} | ${BATS_FAIL} | "
- echo "results.txt"
- echo " | junit.xml |
"
- echo "| Cucumber | ${CUCUMBER_PASS} | ${CUCUMBER_FAIL} | "
- echo "report"
- echo " | json |
"
- echo "
"
- } > "reports/${SHA8}/index.html"
+ run: bash .ci/.gitea/scripts/generate-report-index.sh
- name: Set build commit status
run: |
bash .ci/scripts/report-status.sh success \
"Build complete" \
- "https://gitea.app.keskikuja.site/niko/gitea-ci-library/actions/runs/${GITHUB_RUN_ID}" \
+ "${GITEA_API_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" \
ci-build