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 "" + echo "" + echo "" + echo "" + echo "" + echo "
SuitePassedFailedReport
Bats${BATS_PASS}${BATS_FAIL}results.txt" + echo " | junit.xml
Cucumber${CUCUMBER_PASS}${CUCUMBER_FAIL}report" + echo " | json
" +} > "${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 "" - echo "" - echo "" - echo "" - echo "" - echo "
SuitePassedFailedReport
Bats${BATS_PASS}${BATS_FAIL}results.txt" - echo " | junit.xml
Cucumber${CUCUMBER_PASS}${CUCUMBER_FAIL}report" - echo " | json
" - } > "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