Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add workflow to test readme generation #6359

Merged
merged 23 commits into from
Nov 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4c7fe0d
add workflow
virajbhartiya Nov 5, 2024
f76e551
Refactor README generation script
virajbhartiya Nov 7, 2024
5367945
Refactor README generation script and make check-missing-readme-gener…
virajbhartiya Nov 7, 2024
9308677
Merge branch 'master' into master
virajbhartiya Nov 7, 2024
5959247
Refactor README check workflow to include additional pull request events
virajbhartiya Nov 7, 2024
d4aefeb
Refactor README check workflow to include additional pull request events
virajbhartiya Nov 7, 2024
5b6b3e5
Merge branch 'master' into master
virajbhartiya Nov 7, 2024
041d143
Update .github/workflows/readme-check.yml
virajbhartiya Nov 7, 2024
12dcb4e
Refactor README check workflow to include additional pull request eve…
virajbhartiya Nov 7, 2024
a53f7a6
Merge branch 'master' into master
virajbhartiya Nov 7, 2024
071d218
exit on failing of cargo check
virajbhartiya Nov 7, 2024
c653b27
Merge branch 'master' into master
virajbhartiya Nov 7, 2024
ac46a73
Merge branch 'master' into master
virajbhartiya Nov 7, 2024
e17dc3d
Refactor README check script to exit on failing cargo check
virajbhartiya Nov 7, 2024
9cb75f9
Merge branch 'paritytech:master' into master
virajbhartiya Nov 7, 2024
6006948
Merge branch 'master' into master
iulianbarbu Nov 11, 2024
367a695
Update .github/workflows/readme-check.yml
virajbhartiya Nov 11, 2024
778709d
Update .github/workflows/readme-check.yml
virajbhartiya Nov 11, 2024
999289e
Update .github/scripts/check-missing-readme-generation.sh
virajbhartiya Nov 11, 2024
69708be
address reviews
virajbhartiya Nov 11, 2024
ca2718e
Update checks-quick.yml to install protobuf-compiler
virajbhartiya Nov 11, 2024
3bf7625
Merge branch 'master' into master
virajbhartiya Nov 11, 2024
bcea0b0
Merge branch 'master' into master
alvicsam Nov 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .github/scripts/check-missing-readme-generation.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/bin/bash
echo "Running script relative to `pwd`"
# Find all README.docify.md files
DOCIFY_FILES=$(find . -name "README.docify.md")

# Initialize a variable to track directories needing README regeneration
NEED_REGENERATION=""

for file in $DOCIFY_FILES; do
echo "Processing $file"

# Get the directory containing the docify file
DIR=$(dirname "$file")

# Go to the directory and run cargo build
cd "$DIR"
cargo check --features generate-readme || { echo "Readme generation for $DIR failed. Ensure the crate compiles successfully and has a `generate-readme` feature which guards markdown compilation in the crate as follows: https://docs.rs/docify/latest/docify/macro.compile_markdown.html#conventions." && exit 1; }

# Check if README.md has any uncommitted changes
git diff --exit-code README.md

if [ $? -ne 0 ]; then
echo "Error: Found uncommitted changes in $DIR/README.md"
NEED_REGENERATION="$NEED_REGENERATION $DIR"
fi

# Return to the original directory
cd - > /dev/null
done

# Check if any directories need README regeneration
if [ -n "$NEED_REGENERATION" ]; then
echo "The following directories need README regeneration:"
echo "$NEED_REGENERATION"
exit 1
fi
28 changes: 27 additions & 1 deletion .github/workflows/checks-quick.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ concurrency:
permissions: {}

jobs:

preflight:
uses: ./.github/workflows/reusable-preflight.yml

Expand Down Expand Up @@ -172,6 +171,32 @@ jobs:
env:
ASSERT_REGEX: "FAIL-CI"
GIT_DEPTH: 1
check-readme:
virajbhartiya marked this conversation as resolved.
Show resolved Hide resolved
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

- name: Install prerequisites
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler

- name: Set rust version from env file
run: |
RUST_VERSION=$(cat .github/env | sed -E 's/.*ci-unified:([^-]+)-([^-]+).*/\2/')
echo $RUST_VERSION
echo "RUST_VERSION=${RUST_VERSION}" >> $GITHUB_ENV

- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@11df97af8e8102fd60b60a77dfbf58d40cd843b8 # v1.10.1
with:
cache: false
toolchain: ${{ env.RUST_VERSION }}
components: cargo, clippy, rust-docs, rust-src, rustfmt, rustc, rust-std

- name: Find README.docify.md files and check generated READMEs
run: .github/scripts/check-missing-readme-generation.sh

confirm-required-checks-quick-jobs-passed:
runs-on: ubuntu-latest
Expand All @@ -187,6 +212,7 @@ jobs:
- check-markdown
- check-umbrella
- check-fail-ci
- check-readme
if: always() && !cancelled()
steps:
- run: |
Expand Down
Loading