1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00
Files
opentelemetry-go/.github/workflows/markdown-fail-fast.yml
T
Tyler Yahn 3e440ba5b2 Fix markdown-fail-fast on push (#7057)
The [recent fix for the markdown-fail-fast
action](https://github.com/open-telemetry/opentelemetry-go/pull/7045)
fixed the action for PRs, but [pushes to `main` are
failing](https://github.com/open-telemetry/opentelemetry-go/actions/runs/16420891372/job/46398868230).

This fixes the action to run on pushes to main.

- Match markdown files using action `on` syntax to skip unneeded runs
- Parse event type in script
- Handle push event types in script

Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-22 11:03:59 +02:00

65 lines
1.9 KiB
YAML

name: Markdown (Fail Fast)
on:
push:
paths:
- "**.md"
pull_request:
paths:
- "**.md"
permissions:
contents: read
jobs:
changedfiles:
name: changed files
runs-on: ubuntu-latest
outputs:
md: ${{ steps.changes.outputs.md }}
steps:
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# Shallow clone, but enough for `git diff HEAD~1 HEAD`.
fetch-depth: 2
- name: Get changed files
id: changes
env:
EVENT_NAME: ${{ github.event_name }}
BASE_SHA: ${{ github.event.pull_request.base.sha || '' }}
HEAD_SHA: ${{ github.event.pull_request.head.sha || '' }}
shell: bash
run: |
echo "Detecting changed markdown files..."
if [[ "$EVENT_NAME" == "pull_request" ]]; then
echo "Running in pull_request context"
echo "Base SHA: $BASE_SHA"
echo "Head SHA: $HEAD_SHA"
CHANGED=$(git diff --name-only "$BASE_SHA" "$HEAD_SHA" | grep '\.md$' || true)
elif [[ "$EVENT_NAME" == "push" ]]; then
echo "Running in push context"
CHANGED=$(git diff --name-only HEAD~1 HEAD | grep '\.md$' || true)
else
echo "Unsupported event type: $EVENT_NAME"
exit 1
fi
MD=$(echo "$CHANGED" | tr '\n' ' ' | xargs)
echo "Markdown files changed: $MD"
echo "md=$MD" >> "$GITHUB_OUTPUT"
lint:
name: lint markdown files
runs-on: ubuntu-latest
needs: changedfiles
if: ${{needs.changedfiles.outputs.md}}
steps:
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run linter
uses: docker://avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee
with:
args: ${{needs.changedfiles.outputs.md}}