diff --git a/.gitea/scripts/generate-report-index.sh b/.gitea/scripts/generate-report-index.sh deleted file mode 100644 index 5e63f7a..0000000 --- a/.gitea/scripts/generate-report-index.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/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/eat-own-dogfood-bats-tests.yml b/.gitea/workflows/example-bats-tests.yml similarity index 100% rename from .gitea/workflows/eat-own-dogfood-bats-tests.yml rename to .gitea/workflows/example-bats-tests.yml diff --git a/.gitea/workflows/eat-own-dogfood-cucumber-tests.yml b/.gitea/workflows/example-cucumber-tests.yml similarity index 100% rename from .gitea/workflows/eat-own-dogfood-cucumber-tests.yml rename to .gitea/workflows/example-cucumber-tests.yml diff --git a/.gitea/workflows/eat-own-dogfood-feature.yml b/.gitea/workflows/example-feature.yml similarity index 73% rename from .gitea/workflows/eat-own-dogfood-feature.yml rename to .gitea/workflows/example-feature.yml index 32c5380..52acc3a 100644 --- a/.gitea/workflows/eat-own-dogfood-feature.yml +++ b/.gitea/workflows/example-feature.yml @@ -23,7 +23,7 @@ jobs: bats: name: Bats tests needs: [load-config] - uses: niko/gitea-ci-library/.gitea/workflows/eat-own-dogfood-bats-tests.yml@feature/docker-kuntoon + uses: niko/gitea-ci-library/.gitea/workflows/example-bats-tests.yml@feature/docker-kuntoon secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} @@ -32,16 +32,16 @@ jobs: cucumber: name: Cucumber tests needs: [load-config] - uses: niko/gitea-ci-library/.gitea/workflows/eat-own-dogfood-cucumber-tests.yml@feature/docker-kuntoon + uses: niko/gitea-ci-library/.gitea/workflows/example-cucumber-tests.yml@feature/docker-kuntoon secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} cucumber-node-image: node:22 - report-index: - name: Report Index + report-summary: + name: Report Summary needs: [load-config, bats, cucumber] - uses: niko/gitea-ci-library/.gitea/workflows/report-index.yml@feature/docker-kuntoon - secrets: inherit + if: always() + uses: niko/gitea-ci-library/.gitea/workflows/example-report-summary.yml@feature/docker-kuntoon with: env_json: ${{ needs.load-config.outputs.env_json }} diff --git a/.gitea/workflows/eat-own-dogfood-main.yml b/.gitea/workflows/example-main.yml similarity index 79% rename from .gitea/workflows/eat-own-dogfood-main.yml rename to .gitea/workflows/example-main.yml index 1f1e31c..9c162ef 100644 --- a/.gitea/workflows/eat-own-dogfood-main.yml +++ b/.gitea/workflows/example-main.yml @@ -33,7 +33,7 @@ jobs: name: Bats tests needs: [load-config, check-version] if: needs.check-version.outputs.artifact_exists != 'true' - uses: niko/gitea-ci-library/.gitea/workflows/eat-own-dogfood-bats-tests.yml@feature/docker-kuntoon + uses: niko/gitea-ci-library/.gitea/workflows/example-bats-tests.yml@feature/docker-kuntoon secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} @@ -43,24 +43,23 @@ jobs: name: Cucumber tests needs: [load-config, check-version] if: needs.check-version.outputs.artifact_exists != 'true' - uses: niko/gitea-ci-library/.gitea/workflows/eat-own-dogfood-cucumber-tests.yml@feature/docker-kuntoon + uses: niko/gitea-ci-library/.gitea/workflows/example-cucumber-tests.yml@feature/docker-kuntoon secrets: inherit with: env_json: ${{ needs.load-config.outputs.env_json }} cucumber-node-image: node:22 - report-index: - name: Report Index - needs: [load-config, check-version, bats, cucumber] - if: needs.check-version.outputs.artifact_exists != 'true' - uses: niko/gitea-ci-library/.gitea/workflows/report-index.yml@feature/docker-kuntoon - secrets: inherit + report-summary: + name: Report Summary + needs: [load-config, bats, cucumber] + if: always() + uses: niko/gitea-ci-library/.gitea/workflows/example-report-summary.yml@feature/docker-kuntoon with: env_json: ${{ needs.load-config.outputs.env_json }} build-push: name: Build & Push Docker - needs: [load-config, check-version, report-index] + needs: [load-config, check-version, bats, cucumber] if: needs.check-version.outputs.artifact_exists != 'true' uses: niko/gitea-ci-library/.gitea/workflows/docker-build-push.yml@feature/docker-kuntoon secrets: inherit diff --git a/.gitea/workflows/example-report-summary.yml b/.gitea/workflows/example-report-summary.yml new file mode 100644 index 0000000..b7dda09 --- /dev/null +++ b/.gitea/workflows/example-report-summary.yml @@ -0,0 +1,29 @@ +name: Report Summary +on: + workflow_call: + inputs: + env_json: + required: true + type: string + +env: + GIT_PAGES_URL: ${{ fromJson(inputs.env_json).GIT_PAGES_URL }} + +jobs: + summary: + runs-on: ubuntu-latest + steps: + - name: Generate report links + shell: bash + run: | + SHA8="${GITHUB_SHA:0:8}" + BASE="${GIT_PAGES_URL}/${GITHUB_REPOSITORY}/reports/${SHA8}" + + { + echo "## Test Reports" + echo "" + echo "| Suite | Report |" + echo "|-------|--------|" + echo "| Bats (unit) | [View report](${BASE}/bats/) |" + echo "| Cucumber | [View report](${BASE}/cucumber/) |" + } >> "${GITHUB_STEP_SUMMARY}" diff --git a/.gitea/workflows/report-index.yml b/.gitea/workflows/report-index.yml deleted file mode 100644 index 94d15b0..0000000 --- a/.gitea/workflows/report-index.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Report Index -on: - workflow_call: - inputs: - env_json: - required: true - type: string - secrets: - GITEA_TOKEN: - required: true - -env: - GITEA_API_URL: ${{ fromJson(inputs.env_json).GITEA_API_URL }} - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} - -jobs: - generate: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/checkout@v4 - with: - repository: niko/gitea-ci-library - path: .ci - - - name: Pending - run: bash .ci/scripts/report-status.sh pending "Generating report index..." ci-build - - - name: Generate report index - id: report-index - run: bash .ci/.gitea/scripts/generate-report-index.sh - - - name: Report status SUCCESS - if: success() - run: bash .ci/scripts/report-status.sh success "Build complete" ci-build - - - name: Report status FAILURE - if: failure() - run: bash .ci/scripts/report-status.sh failure "Build FAILED" ci-build