name: Extract Data from Content on: push: branches: - master paths: - 'content/**/*.md' - 'scripts/*.go' workflow_dispatch: # Prevent concurrent runs to avoid conflicts concurrency: group: data-extraction cancel-in-progress: true jobs: extract-data: name: Extract Data from Content runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.21' - name: Extract highlights run: go run scripts/extract_highlights.go - name: Generate external link rank run: go run scripts/get_external_link_rank.go - name: Generate internal link graph run: go run scripts/get_internal_link_graph.go - name: Commit all data uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: 'chore: update data from scripts' file_pattern: 'data/highlights.json data/externallinks.json static/link-graph.json'