From 4ba109727fcc302269347fe7f4c5c0f74bd5a77a Mon Sep 17 00:00:00 2001 From: Vishwajit Nagulkar <119565952+VishwajitNagulkar@users.noreply.github.com> Date: Thu, 16 Nov 2023 22:18:46 +0530 Subject: [PATCH] feat: Created shared workflow for readme generator (#100) --- .github/workflows/readme.yml | 65 ++++++++++++++++++++++++------------ README.md | 1 + docs/readme.md | 21 ++++++++++++ 3 files changed, 65 insertions(+), 22 deletions(-) create mode 100644 docs/readme.md diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml index ffe0cd4f..cc0bfe3d 100644 --- a/.github/workflows/readme.yml +++ b/.github/workflows/readme.yml @@ -1,46 +1,67 @@ --- -name: Create README.md file +run-name: 'Readme workflow' on: - workflow_call: null + workflow_call: + secrets: + TOKEN: + required: true + description: 'GitHub Token.' + SLACK_WEBHOOK_TERRAFORM: + required: true + description: 'Slack webhook url.' + jobs: - readme-create: - name: readme-create + readme-workflow: runs-on: ubuntu-latest steps: - - name: Checkout + - name: Updating GitHub Token + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} + run: echo "GH_TOKEN=${GITHUB_TOKEN}" >> $GITHUB_ENV + + - name: checkout uses: actions/checkout@master - - name: Set up Python 3.7 + with: + fetch-depth: 0 + ref: master + token: ${{ env.GH_TOKEN }} + + - name: 'Set up Python 3.7' uses: actions/setup-python@v4 with: - python-version: 3.x - - name: create readme - uses: clouddrove/github-actions@9.0.3 + python-version: '3.x' + + - name: 'create readme' + uses: 'clouddrove/github-actions@9.0.3' with: - actions_subcommand: readme - github_token: ${{ secrets.GITHUB }} + actions_subcommand: 'readme' + github_token: '${{ secrets.TOKEN }}' env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: pre-commit check errors + GITHUB_TOKEN: ${{ secrets.TOKEN}} + + - name: 'pre-commit check errors' uses: pre-commit/action@v3.0.0 continue-on-error: true - - name: pre-commit fix erros + + - name: 'pre-commit fix erros' uses: pre-commit/action@v3.0.0 continue-on-error: true - - name: push readme - uses: clouddrove/github-actions@9.0.3 - continue-on-error: true + + - name: 'push readme' + uses: 'clouddrove/github-actions@9.0.3' with: - actions_subcommand: push + actions_subcommand: 'push' env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Slack Notification + GITHUB_TOKEN: ${{ secrets.TOKEN}} + + - name: 'Slack Notification' uses: clouddrove/action-slack@v2 with: status: ${{ job.status }} fields: repo,author - author_name: CloudDrove + author_name: 'CloudDrove' env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.TOKEN }} SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_TERRAFORM }} if: always() ... diff --git a/README.md b/README.md index b1034190..bb85223e 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ Above example is just a simple example to call workflow from github shared workf 9. [Infracost workflow](https://github.com/clouddrove/github-shared-workflows/blob/master/docs/infracost.md) 10. [ Deploy Cloudformation Stack workflow](https://github.com/clouddrove/github-shared-workflows/blob/master/docs/deploy-cloudformation.md) 11. [ Deploy Cloudformation Stackset workflow](https://github.com/clouddrove/github-shared-workflows/blob/master/docs/deploy-cloudformation-stackset.md) +12. [ Readme Generation workflow](https://github.com/clouddrove/github-shared-workflows/blob/master/docs/readme.md) ## Feedback If you come accross a bug or have any feedback, please log it in our [issue tracker](https://github.com/clouddrove/github-shared-workflows/issues), or feel free to drop us an email at [hello@clouddrove.com](mailto:hello@clouddrove.com). diff --git a/docs/readme.md b/docs/readme.md new file mode 100644 index 00000000..1c0c10bd --- /dev/null +++ b/docs/readme.md @@ -0,0 +1,21 @@ +## [Readme Workflow](https://github.com/clouddrove/github-shared-workflows/blob/master/.github/workflows/readme.yml) + +This workflow is used to generate readme for TErraform modules using GitHub Actions. It utilizes the workflows defined in `.github/workflows/readme.yml` + +#### Example of a readme workflow +```yaml +name: readme workflow +on: + push: + branches: + - master + paths-ignore: + - 'README.md' + workflow_dispatch: +jobs: + assignee: + uses: clouddrove/github-shared-workflows/.github/workflows/readme.yml@master + secrets: + TOKEN : # Provide GitHub token + SLACK_WEBHOOK_TERRAFORM: # Provide slack-webhook url +```