From 418e5e895afe9e616d6d01480b9d34ffd707aa0d Mon Sep 17 00:00:00 2001 From: Adam Fowler Date: Wed, 18 Sep 2024 08:54:14 +0100 Subject: [PATCH] Add publish GitHub workflow --- .github/workflows/publish.yml | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..d7cad5a --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,51 @@ +name: "Publish Dev Container Templates & Generate Documentation" +on: + workflow_dispatch: + +jobs: + deploy: + if: ${{ github.ref == 'refs/heads/main' }} + runs-on: ubuntu-latest + permissions: + packages: write + contents: write + pull-requests: write + steps: + - uses: actions/checkout@v4 + + - name: "Publish Templates" + uses: devcontainers/action@v1 + with: + publish-templates: "true" + base-path-to-templates: "./src" + generate-docs: "true" + + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - 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 github-actions[bot]@users.noreply.github.com + git config --global user.name github-actions[bot] + 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 \ No newline at end of file