diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index bbc03b3961f49eacf26fbd556eb5e1b415de76ce..9b89a520ed3f221aea723c71a8c4ee5984975924 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -16,27 +16,39 @@ concurrency: cancel-in-progress: true jobs: + coverage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version-file: ./go.mod + - run: | + ./ci/test.sh + echo "PERCENT=$(go tool cover -func ./ci/out/coverage.prof | tail -n1 | awk '{print $3}' | tr -d '%')" >> "$GITHUB_OUTPUT" + { + echo "HTML<<EOF" + cat ./ci/out/coverage.html + echo EOF + } >> "$GITHUB_OUTPUT" + deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest + needs: coverage steps: - - name: Checkout - uses: actions/checkout@v4 - name: Setup Pages uses: actions/configure-pages@v5 - - name: Setup Go - uses: actions/setup-go@v5 - with: - go-version-file: ./go.mod - - name: Generate coverage and badge + - name: Write coverage.html and coverage.svg + env: + PERCENT: ${{ steps.coverage.outputs.PERCENT }} + HTML: ${{ steps.coverage.outputs.HTML }} run: | - ./ci/test.sh mkdir -p ./ci/out/static - cp ./ci/out/coverage.html ./ci/out/static/coverage.html - percent=$(go tool cover -func ./ci/out/coverage.prof | tail -n1 | awk '{print $3}' | tr -d '%') - wget -O ./ci/out/static/coverage.svg "https://img.shields.io/badge/coverage-${percent}%25-success" + wget -O ./ci/out/static/coverage.svg "https://img.shields.io/badge/coverage-${PERCENT}%25-success" + echo "$HTML" > ./ci/out/static/coverage.html - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: