diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8932bae..eb29325 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,14 +1,18 @@ name: docs on: - # schedule: - # - cron: "0 3 * * 1-5" # At 03:00 on every day-of-week from Monday through Friday. + schedule: + - cron: "0 3 * * 1-5" # At 03:00 on every day-of-week from Monday through Friday. workflow_dispatch: {} jobs: docs: runs-on: ubuntu-latest + defaults: + run: + working-directory: scripts/module-library + env: OUTPUT_PATH: ${{ github.workspace }}/docs/module-library.md @@ -21,8 +25,12 @@ jobs: with: python-version: 3.12.0 + - name: Install requirements + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Run Python script - working-directory: scripts/module-library run: ./module-library.py -t template.md -o "$OUTPUT_PATH" - name: Create PR @@ -36,4 +44,3 @@ jobs: base: main title: "docs: update module library" body: "" - team-reviewers: terraform-baseline diff --git a/scripts/module-library/module-library.py b/scripts/module-library/module-library.py index 3a67f57..b9efe18 100755 --- a/scripts/module-library/module-library.py +++ b/scripts/module-library/module-library.py @@ -23,6 +23,7 @@ response = requests.get(url) responseJson = response.json() repos = responseJson.get("items") +reposSorted = sorted(repos, key=lambda repo: repo["name"]) #################################################################################### # Create Markdown table containing all Terraform Baseline modules @@ -34,8 +35,8 @@ dict = { "Module": "{moduleName}", - "Repository": "[{repoName}]({repoUrl})", - "Latest release": "{latestRelease}", + "Repository": "[{repoFullName}]({repoUrl})", + "Latest release": "[![Release](https://img.shields.io/github/v/release/{repoFullName}?display_name=tag&sort=semver)]({repoUrl}/releases)", } columns = dict.keys() @@ -44,18 +45,18 @@ row = columnSeparator.join(dict.values()) -for repo in repos: +for repo in reposSorted: repoName = repo.get("name", "N/A") moduleName = repoName.replace("terraform-azurerm-", "") + repoFullName = repo.get("full_name", "N/A") repoUrl = repo.get("html_url", "N/A") - latestRelease = repo.get("latest_release", "N/A") rows.append( row.format( moduleName=moduleName, repoName=repoName, + repoFullName=repoFullName, repoUrl=repoUrl, - latestRelease=latestRelease, ) ) diff --git a/scripts/module-library/requirements.txt b/scripts/module-library/requirements.txt new file mode 100644 index 0000000..2c24336 --- /dev/null +++ b/scripts/module-library/requirements.txt @@ -0,0 +1 @@ +requests==2.31.0