Test gh actions #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Check config and readme updates | |
on: | |
pull_request: | |
paths: | |
- "apis/**" | |
jobs: | |
file-updates: | |
permissions: write-all | |
name: Test file updates | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: run make commands | |
run: | | |
make generate && make manifests && make api-docs | |
- name: check git status | |
id: git_status | |
run : | | |
if [[ -n $(git status -s) ]] | |
then | |
echo "New files to commit available" | |
echo "is_files_to_commit_present=true" >> $GITHUB_OUTPUT | |
delim="" | |
config_files_joined="" | |
files=$(git status --porcelain | egrep "apis|config" | cut -b4-) | |
for file in $files; do | |
config_files_joined="$config_files_joined$delim$file" | |
delim="," | |
done | |
echo "config_files=$config_files_joined" >> $GITHUB_OUTPUT | |
delim="" | |
docs_files_joined="" | |
files=$(git status --porcelain | egrep "docs/api-overview.md" | cut -b4-) | |
for file in $files; do | |
docs_files_joined="$docs_files_joined$delim$file" | |
delim="," | |
done | |
echo "docs_files=$docs_files_joined" >> $GITHUB_OUTPUT | |
else | |
echo "No new files to commit" | |
echo "is_files_to_commit_present=false" >> $GITHUB_OUTPUT | |
fi | |
- uses: actions/github-script@v7 | |
if: ${{ steps.git_status.outputs.is_files_to_commit_present == 'true' }} | |
name: generate comments | |
env: | |
DOCS_FILES: ${{ steps.git_status.outputs.docs_files }} | |
CONFIG_FILES: ${{ steps.git_status.outputs.config_files }} | |
with: | |
script: | | |
const { DOCS_FILES, CONFIG_FILES } = process.env | |
function getFileList(fileStr){ | |
return fileStr.split(",").reduce((acc, curr)=>{ | |
acc += `- ${curr}\n` | |
return acc | |
},"") | |
} | |
console.log(context) | |
github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: `## Important Message ❌\nThis PR cannot be merged as some files need to be updated.\n\nPlease run \`make generate && make manifests\` to update the following files:\n\n ${getFileList(CONFIG_FILES)}\nPlease run \`make api-docs\` to update the following files:\n\n${getFileList(DOCS_FILES)}` | |
}) | |
core.setFailed("Please update the config and readme files using make commands") |