Release dev container features & Generate Documentation #143
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: "Release dev container features & Generate Documentation" | |
on: | |
workflow_run: | |
workflows: ["CI - Test Features"] | |
branches: ["main"] | |
types: | |
- completed | |
jobs: | |
deploy: | |
if: ${{ github.ref == 'refs/heads/main' && github.event.workflow_run.conclusion == 'success' }} | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
pull-requests: write | |
packages: write | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Publish Features" | |
uses: devcontainers/action@v1 | |
with: | |
publish-features: "true" | |
base-path-to-features: "./src" | |
generate-docs: "true" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: "Update Featues List in README" | |
run: | | |
set -e | |
features=$(find src -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | sort) | |
echo "Found features: $features" | |
echo "Updating README.md" | |
sed -i -e '/<!-- FEATURES_LIST_START -->/,/<!-- FEATURES_LIST_END -->/d' README.md | |
echo "<!-- FEATURES_LIST_START -->" >> README.md | |
for feature in $features; do | |
echo "- [$feature](`git remote get-url origin`/tree/main/src/$feature)" >> README.md | |
done | |
echo "<!-- FEATURES_LIST_END -->" >> README.md | |
git add README.md | |
- name: Create PR for Documentation | |
id: push_image_info | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
set -e | |
echo "Start." | |
# Configure git and Push updates | |
git config --global user.email [email protected] | |
git config --global user.name github-actions | |
git config pull.rebase false | |
branch=automated-documentation-update-$GITHUB_RUN_ID | |
git checkout -b $branch | |
message='Automated documentation update' | |
# Add / update and commit | |
git add */**/README.md | |
git commit -m 'Automated documentation update [skip ci]' || export NO_UPDATES=true | |
# Push | |
if [ "$NO_UPDATES" != "true" ] ; then | |
git push origin "$branch" | |
gh pr create --title "$message" --body "$message" | |
fi |