Skip to content

Release dev container features & Generate Documentation #143

Release dev container features & Generate Documentation

Release dev container features & Generate Documentation #143

Workflow file for this run

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