diff --git a/.github/workflows/__main-ci.yml b/.github/workflows/__main-ci.yml index ae1edc4..1371863 100644 --- a/.github/workflows/__main-ci.yml +++ b/.github/workflows/__main-ci.yml @@ -1,6 +1,7 @@ +--- name: Internal - Main - Continuous Integration -on: +on: # yamllint disable-line rule:truthy push: branches: [main] tags: ["*"] diff --git a/.github/workflows/__shared-ci.yml b/.github/workflows/__shared-ci.yml index 9c66a94..ceb313c 100644 --- a/.github/workflows/__shared-ci.yml +++ b/.github/workflows/__shared-ci.yml @@ -10,7 +10,7 @@ permissions: jobs: linter: - uses: ./.github/workflows/linter-actions.yml + uses: ./.github/workflows/linter.yml test-action-matrix-outputs: needs: linter diff --git a/.github/workflows/linter-actions.md b/.github/workflows/linter-actions.md deleted file mode 100644 index 3f96559..0000000 --- a/.github/workflows/linter-actions.md +++ /dev/null @@ -1,79 +0,0 @@ - - - - -# GitHub Reusable Workflow: Linter - Actions - - - - - - -Reusable workflow that performs GitHub Actions linting on the codebase. -Applys [GitHub security recommendations](https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions). -Uses: - -- [Common linter](./linter.md) with some opinionated defaults. -- [CodeQL](https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql) to analyze the code. -- [Ratchet](https://github.com/sethvargo/ratchet) to check that all versions are pinned. - - - - - - -```yaml -name: "Linter - Actions" - -on: - push: - branches: [main] - tags: ["*"] - - pull_request: - branches: [main] - - schedule: - - cron: "25 8 * * 1" - -permissions: - contents: read - statuses: write - security-events: write - -jobs: - main: - uses: hoverkraft-tech/ci-github-common/.github/workflows/linter-actions.yml@0.14.0 - secrets: - # Token for marking the status of linter run in the Checks section. - # See [linter](./linter.md). - github-token: "" -``` - - - -## Secrets - - - -| **Secret** | **Description** | **Default** | **Required** | -| ----------------------------- | -------------------------------------------------------------------------------------------- | ------------------------- | ------------ | -| **github-token** | Token for marking the status of linter run in the Checks section. See [linter](./linter.md). | GITHUB_TOKEN | **false** | - - - -## Inputs - - - -| **Input** | **Description** | **Default** | **Type** | **Required** | -| ---------------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------------- | -------- | ------------ | -| **runs-on** | Json array of runner(s) to use. See . | ["ubuntu-latest"] | `string` | **false** | -| **directories** | List of directories to lint. | .github/workflows\nactions | `string` | **false** | - - - - - - - diff --git a/.github/workflows/linter-actions.yml b/.github/workflows/linter-actions.yml deleted file mode 100644 index 1ce96a5..0000000 --- a/.github/workflows/linter-actions.yml +++ /dev/null @@ -1,115 +0,0 @@ -# Linter - Actions -# ========================== -# Reusable workflow that performs GitHub Actions linting on the code base. -# Applys [GitHub security recommendations](https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions). -# Uses: -# - [Common linter](./linter.md) with some opinionated defaults. -# - [CodeQL](https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql) to analyze the code. -# - [Ratchet](https://github.com/sethvargo/ratchet) to check that all versions are pinned. - -name: Linter - Actions - -on: - workflow_call: - inputs: - runs-on: - description: "Json array of runner(s) to use. See ." - type: string - default: '["ubuntu-latest"]' - required: false - directoriesInput: - description: "List of directoriesInput to lint." - type: string - default: | - .github/workflows - actions - - secrets: - github-token: - description: "Token for marking the status of linter run in the Checks section. See [linter](./linter.md)." - -permissions: - contents: read - statuses: write - security-events: write - -jobs: - linter: - name: ๐Ÿงน Lint Code Base - uses: ./.github/workflows/linter.yml - with: - runs-on: ${{ inputs.runs-on }} - secrets: - github-token: ${{ secrets.github-token }} - - code-ql: - name: ๐Ÿ›ก๏ธ CodeQL Analysis - permissions: - security-events: write - runs-on: ${{ fromJson(inputs.runs-on) }} - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - uses: github/codeql-action/init@5f8171a638ada777af81d42b55959a643bb29017 # v3.28.12 - with: - languages: actions - - - uses: github/codeql-action/analyze@5f8171a638ada777af81d42b55959a643bb29017 # v3.28.12 - - check-pinning: - name: ๐Ÿ“Œ Check Pinning - runs-on: ${{ fromJson(inputs.runs-on) }} - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - - id: get-files-to-lint - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 - with: - script: | - const fs = require("node:fs"); - const path = require("node:path"); - - const directoriesInput = ${{ toJson(inputs.directoriesInput) }}; - const directories = []; - - for (const directory of directoriesInput.split("\n")) { - let sanitizedDirectory = directory.trim(); - if (sanitizedDirectory === "") { - continue; - } - - if (path.isAbsolute(sanitizedDirectory)) { - // Ensure directory is within the workspace - if (!sanitizedDirectory.startsWith(process.env.GITHUB_WORKSPACE)) { - return core.setFailed(`Directory is not within the workspace: ${sanitizedDirectory}`); - } - } else { - sanitizedDirectory = path.join(process.env.GITHUB_WORKSPACE, sanitizedDirectory); - } - - // Ensure directory exists - if (!fs.existsSync(sanitizedDirectory)) { - core.setFailed(`Directory does not exist: ${sanitizedDirectory}`); - } - - directories.push(sanitizedDirectory); - } - - if (directories.length === 0) { - return core.setFailed("No directories to lint."); - } - - async function getActionFiles(directory){ - const globber = await glob.create(`${directory}/**/*.yml`,{ matchdirectoriesInput: false }); - const matchingFiles = await globber.glob(); - - return matchingFiles.map(matchingFile => path.relative(process.env.GITHUB_WORKSPACE, matchingFile)); - } - - const files = await Promise.all(directories.map(getActionFiles)); - core.setOutput("files", files.flat().join(" ").trim()); - - - uses: "docker://ghcr.io/sethvargo/ratchet:0.10.2@sha256:78f70ed0c85830a78bd9eeb265f49aa375d71887e4245aebc5da9c641d76b245" # v0.10.2 - if: ${{ steps.get-files-to-lint.outputs.files }} - with: - args: "check ${{ steps.get-files-to-lint.outputs.files }}" diff --git a/.github/workflows/linter.md b/.github/workflows/linter.md index 68965b2..3bd8e6a 100644 --- a/.github/workflows/linter.md +++ b/.github/workflows/linter.md @@ -10,7 +10,11 @@ Reusable workflow that performs linting on the codebase. -Mainly using [Super-Linter](https://github.com/super-linter/super-linter), with some opinionated defaults. +Executes: + +- [Super-Linter](https://github.com/super-linter/super-linter), with some opinionated defaults. +- [CodeQL](https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql) to analyze the code. +- [Ratchet](https://github.com/sethvargo/ratchet) to check that GitHub Action versions are pinned. @@ -38,10 +42,35 @@ permissions: jobs: main: uses: hoverkraft-tech/ci-github-common/.github/workflows/linter.yml@0.14.0 + with: + # Json array of runner(s) to use. + # See . + runs-on: '["ubuntu-latest"]' + + # Environment variables in multilines format "key=value" to pass to the linter. + # See . + linter-env: "" + + # JSON array of languages to analyze with CodeQL. + # See . + # Leave empty to disable the check. + codeql-languages: '["actions"]' + + # List of files or directories where GitHub Actions and workflows are located. + # Supports glob patterns. + # Leave empty to disable the check. + action-files: | + ./action.yml + ./.github/workflows/**/*.yml + ./actions/**/*.yml + + # Run checks on all files, not just the changed ones. + lint-all: ${{ github.event_name != 'pull_request' }} + secrets: # Token for marking the status of linter run in the Checks section. # See https://github.com/super-linter/super-linter#how-to-use - # Default GITHUB_TOKEN + # Default GITHUB_TOKEN. github-token: "" ``` @@ -61,10 +90,13 @@ jobs: -| **Input** | **Description** | **Default** | **Type** | **Required** | -| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | -------- | ------------ | -| **runs-on** | Json array of runner(s) to use. See . | ["ubuntu-latest"] | `string` | **false** | -| **linter-env** | Environment variables in multilines format "key=value" to pass to the linter. See . | .github/workflows\nactions | `string` | **false** | +| **Input** | **Description** | **Default** | **Type** | **Required** | +| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------- | ------------ | +| **runs-on** | Json array of runner(s) to use. See . | ["ubuntu-latest"] | `string` | **false** | +| **linter-env** | Environment variables in multilines format "key=value" to pass to the linter. See . | .github/workflows\nactions | `string` | **false** | +| **codeql-languages** | JSON array of languages to analyze with CodeQL. See . Leave empty to disable the check. | ["actions"] | `string` | **false** | +| **action-files** | List of files or directories where GitHub Actions and workflows are located. Supports glob patterns. Leave empty to disable the check. | ./action.yml\n./.github/workflows/\*\*/\*.yml\n./actions/\*\*/\*.yml | `string` | **false** | +| **lint-all** | Run linter on all files, not just the changed ones. | github.event_name != 'pull_request' | `boolean` | **false** | diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 2b9afe8..9e3aee0 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -1,9 +1,10 @@ # Linter # ========================== -# Reusable workflow that performs linting on the code base. -# Mainly using [Super-Linter](https://github.com/super-linter/super-linter), with some opinionated defaults. - -name: Linter +# Reusable workflow that performs linting on the codebase. +# Executes: +# - [Super-Linter](https://github.com/super-linter/super-linter), with some opinionated defaults. +# - [CodeQL](https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql) to analyze the code. +# - [Ratchet](https://github.com/sethvargo/ratchet) to check that Github Action versions are pinned. on: workflow_call: @@ -11,31 +12,58 @@ on: runs-on: description: "Json array of runner(s) to use. See ." type: string - default: '["ubuntu-latest"]' required: false + default: '["ubuntu-latest"]' linter-env: description: | Environment variables in multilines format "key=value" to pass to the linter. See . type: string required: false + codeql-languages: + description: | + JSON array of languages to analyze with CodeQL. + See . + Leave empty to disable the check. + type: string + required: false + default: '["actions"]' + action-files: + description: | + List of files or directories where GitHub Actions and workflows are located. + Supports glob patterns. + Leave empty to disable the check. + type: string + required: false + default: | + ./action.yml + ./.github/workflows/**/*.yml + ./actions/**/*.yml + lint-all: + description: "Run checks on all files, not just the changed ones." + type: boolean + required: false + default: ${{ github.event_name != 'pull_request' }} secrets: github-token: - description: "Token for marking the status of linter run in the Checks section. See ." + description: | + Token for marking the status of linter run in the Checks section. + See . + Default GITHUB_TOKEN. permissions: contents: read statuses: write jobs: - checks: + lint: name: ๐Ÿงน Lint Code Base runs-on: ${{ fromJson(inputs.runs-on) }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: - fetch-depth: 0 + fetch-depth: "${{ inputs.lint-all && 1 || 0 }}" - if: ${{ inputs.linter-env }} run: | @@ -49,11 +77,165 @@ jobs: echo "$line" >> "$GITHUB_ENV" done - - name: ๐Ÿ‘• Lint Code Base - uses: super-linter/super-linter/slim@4e8a7c2bf106c4c766c816b35ec612638dc9b6b2 # v7.3.0 + - uses: super-linter/super-linter/slim@4e8a7c2bf106c4c766c816b35ec612638dc9b6b2 # v7.3.0 env: - VALIDATE_ALL_CODEBASE: false + VALIDATE_ALL_CODEBASE: ${{ inputs.lint-all }} LOG_LEVEL: WARN DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} GITHUB_TOKEN: ${{ secrets.github-token || github.token }} KUBERNETES_KUBECONFORM_OPTIONS: "--schema-location default --schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json'" + + codeql: + if: ${{ inputs.codeql-languages }} + name: ๐Ÿ›ก๏ธ CodeQL Analysis + permissions: + security-events: write + runs-on: ${{ fromJson(inputs.runs-on) }} + strategy: + fail-fast: false + matrix: + language: ${{ fromJSON(inputs.codeql-languages) }} + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - uses: github/codeql-action/init@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3.28.13with: + with: + languages: ${{ matrix.language }} + + - uses: github/codeql-action/analyze@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3.28.13 + with: + category: "/language:${{matrix.language}}" + + actions-pinning: + name: ๐Ÿ“Œ Check GitHub Actions Pinning + runs-on: ${{ fromJson(inputs.runs-on) }} + if: ${{ inputs.action-files }} + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + fetch-depth: "${{ inputs.lint-all && 1 || 0 }}" + + - id: changed-files + uses: tj-actions/changed-files@823fcebdb31bb35fdf2229d9f769b400309430d0 # v46.0.3 + if: ${{ inputs.lint-all == false }} + with: + files: ${{ inputs.action-files }} + dir_names_exclude_current_dir: true + + - id: get-files-to-lint + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + const fs = require("node:fs"); + const path = require("node:path"); + + const changedFiles = ${{ toJSON(steps.changed-files.outputs.all_changed_and_modified_files) }}; + + let actionFiles = []; + if (changedFiles !== null) { + actionFiles = changedFiles.split(" ").filter(file => file && fs.existsSync(file)); + } else { + const actionFilesInput = ${{ toJson(inputs.action-files) }}; + + for (const actionFile of actionFilesInput.split("\n")) { + let sanitizedActionFile = actionFile.trim(); + if (sanitizedActionFile === "") { + continue; + } + + if (path.isAbsolute(sanitizedActionFile)) { + // Ensure actionFile is within the workspace + if (!sanitizedActionFile.startsWith(process.env.GITHUB_WORKSPACE)) { + return core.setFailed(`Action file / directory is not within the workspace: ${sanitizedActionFile}`); + } + } else { + sanitizedActionFile = path.join(process.env.GITHUB_WORKSPACE, sanitizedActionFile); + } + actionFiles.push(sanitizedActionFile); + } + + if (actionFiles.length === 0) { + return core.setFailed("No action files to lint."); + } + + async function getActionFiles(actionFile) { + const globber = await glob.create(actionFile,{ matchactionFilesInput: false }); + return await globber.glob(); + } + + actionFiles = (await Promise.all(actionFiles.map(getActionFiles))) + .flat() + .map((file) => path.relative(process.env.GITHUB_WORKSPACE, file)); + + if (actionFiles.length === 0) { + return core.setFailed("No action files to lint."); + } + } + + const files = actionFiles.map((file) => path.relative(process.env.GITHUB_WORKSPACE, file)); + + const filesOutput = [...new Set(files)].join(" ").trim(); + + core.setOutput("files", filesOutput); + + - id: ratchet + uses: "docker://ghcr.io/sethvargo/ratchet:0.10.2@sha256:78f70ed0c85830a78bd9eeb265f49aa375d71887e4245aebc5da9c641d76b245" # v0.10.2 + if: ${{ steps.get-files-to-lint.outputs.files }} + with: + args: "check ${{ steps.get-files-to-lint.outputs.files }}" + + - if: ${{ failure() && steps.get-files-to-lint.outputs.files }} + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + with: + script: | + const ratchetOutcome = ${{ toJSON(steps.ratchet.outcome) }}; + + if (ratchetOutcome !== "failure") { + return; + } + + // FIXME: should retrieve ratchet error output. See https://github.com/sethvargo/ratchet/issues/103. + const ratchetErrorsOutputs = ${{ toJSON(steps.ratchet.outputs.errors) }}; + if (!ratchetErrorsOutputs || ratchetErrorsOutputs.length === 0) { + return; + } + + // Format the ratchet errors: found x unpinned refs: ... + const unpinnedRefsError = /found (\d+) unpinned refs: (.*)/g.exec(ratchetErrorsOutputs[0]); + if (!unpinnedRefsError) { + return; + } + + const unpinnedRefs = JSON.parse(unpinnedRefsError[2]); + + async function getFileErrors(file) { + const fileContent = await fs.promises.readFile(file, "utf8"); + + const errors = []; + + for(const unpinnedRef of unpinnedRefs) { + if(fileContent.includes(unpinnedRef)) { + errors.push(file); + } + } + + return errors; + } + + const files = ${{ toJSON(steps.get-files-to-lint.outputs.files) }}.split(" "); + + // Annotate file errors + await Promise.all(files.map(async (file) => { + const errors = await getFileErrors(file); + if (errors.length === 0) { + return; + } + + core.error( + `Found ${errors.length} unpinned refs`, + { + title: `Unpinned refs: ${JSON.stringify(errors)}`, + file: file + } + ); + })); diff --git a/actions/checkout/README.md b/actions/checkout/README.md index a4763db..ad9aa7b 100644 --- a/actions/checkout/README.md +++ b/actions/checkout/README.md @@ -36,7 +36,7 @@ permissions: ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: Number of commits to fetch. 0 indicates all history for all # branches and tags. See @@ -61,11 +61,11 @@ permissions: -| **Input** | **Description** | **Default** | **Required** | -| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------ | -| fetch-depth | Number of commits to fetch. 0 indicates all history for all branches and tags. See [https://github.com/actions/checkout#usage](https://github.com/actions/checkout#usage) | 1 | **false** | -| lfs | Whether to download Git-LFS files. See [https://github.com/actions/checkout#usage](https://github.com/actions/checkout#usage) | | **false** | -| token | Token to use for checking out the repository instead of the default GITHUB_TOKEN.
If specified and not empty, persist-credentials in checkout will be false. | | **false** | +| **Input** | **Description** | **Default** | **Required** | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------ | +| fetch-depth | Number of commits to fetch. 0 indicates all history for all branches and tags. See [https://github.com/actions/checkout#usage](https://github.com/actions/checkout#usage) | 1 | **false** | +| lfs | Whether to download Git-LFS files. See [https://github.com/actions/checkout#usage](https://github.com/actions/checkout#usage) | false | **false** | +| token | Token to use for checking out the repository instead of the default GITHUB_TOKEN.
If specified and not empty, persist-credentials in checkout will be false. | | **false** | diff --git a/actions/checkout/action.yml b/actions/checkout/action.yml index 71219f9..a763d80 100644 --- a/actions/checkout/action.yml +++ b/actions/checkout/action.yml @@ -11,7 +11,7 @@ inputs: default: "1" lfs: description: "Whether to download Git-LFS files. See [https://github.com/actions/checkout#usage](https://github.com/actions/checkout#usage)" - default: false + default: "false" token: description: | Token to use for checking out the repository instead of the default GITHUB_TOKEN. diff --git a/actions/create-and-merge-pull-request/README.md b/actions/create-and-merge-pull-request/README.md index ead64ba..d056cc5 100644 --- a/actions/create-and-merge-pull-request/README.md +++ b/actions/create-and-merge-pull-request/README.md @@ -29,11 +29,11 @@ See [Allow GitHub Actions to create and approve pull requests](https://docs.gith ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: GitHub token for creating and merging pull request (permissions # contents: write and pull-requests: write). See - # https://github.com/peter-evans/create-pull-request#action-inputs. + # . # # Default: ${{ github.token }} github-token: "" @@ -61,13 +61,13 @@ See [Allow GitHub Actions to create and approve pull requests](https://docs.gith -| **Input** | **Description** | **Default** | **Required** | -| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------ | -| github-token | GitHub token for creating and merging pull request (permissions contents: write and pull-requests: write). See https://github.com/peter-evans/create-pull-request#action-inputs. | ${{ github.token }} | **false** | -| branch | The pull request branch name | | **true** | -| title | The pull request title | | **true** | -| body | The pull request body | | **true** | -| commit-message | The commit message for the pull request | | **true** | +| **Input** | **Description** | **Default** | **Required** | +| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------ | +| github-token | GitHub token for creating and merging pull request (permissions contents: write and pull-requests: write).
See . | ${{ github.token }} | **false** | +| branch | The pull request branch name | | **true** | +| title | The pull request title | | **true** | +| body | The pull request body | | **true** | +| commit-message | The commit message for the pull request | | **true** | diff --git a/actions/create-and-merge-pull-request/action.yml b/actions/create-and-merge-pull-request/action.yml index 5ede988..40402af 100644 --- a/actions/create-and-merge-pull-request/action.yml +++ b/actions/create-and-merge-pull-request/action.yml @@ -7,7 +7,9 @@ branding: inputs: github-token: - description: "GitHub token for creating and merging pull request (permissions contents: write and pull-requests: write). See https://github.com/peter-evans/create-pull-request#action-inputs." + description: | + GitHub token for creating and merging pull request (permissions contents: write and pull-requests: write). + See . default: ${{ github.token }} required: false branch: @@ -43,6 +45,7 @@ runs: with: token: ${{ inputs.github-token }} signoff: true + sign-commits: true base: ${{ github.event.repository.default_branch }} delete-branch: true branch: ${{ inputs.branch }} diff --git a/actions/create-or-update-comment/README.md b/actions/create-or-update-comment/README.md index fe52712..e0e9fa9 100644 --- a/actions/create-or-update-comment/README.md +++ b/actions/create-or-update-comment/README.md @@ -24,7 +24,7 @@ Action to create or update comment in pull request or issue -Set permissions to wrtie issues and pull-requests. This is required to write the comment on the PR. +Set permissions to write issues and pull-requests. This is required to write the comment on the PR. ```yaml permissions: @@ -35,7 +35,7 @@ permissions: ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: The comment title. Must be static and unique, will be used to # retrieve the comment if exists already. diff --git a/actions/get-github-actions-bot-user/README.md b/actions/get-github-actions-bot-user/README.md index e142fcd..b35c044 100644 --- a/actions/get-github-actions-bot-user/README.md +++ b/actions/get-github-actions-bot-user/README.md @@ -26,7 +26,7 @@ Action to get the GitHub Actions bot user informations. Usefull to commit, comme ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: ``` diff --git a/actions/get-issue-number/README.md b/actions/get-issue-number/README.md index 4622758..d9f3c98 100644 --- a/actions/get-issue-number/README.md +++ b/actions/get-issue-number/README.md @@ -26,7 +26,7 @@ Action to get Pull request or issue number ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: ``` diff --git a/actions/get-matrix-outputs/README.md b/actions/get-matrix-outputs/README.md index 8f3bbdb..7b2ff78 100644 --- a/actions/get-matrix-outputs/README.md +++ b/actions/get-matrix-outputs/README.md @@ -27,7 +27,7 @@ Download matrix ouputs from artifacts, because GitHub Action does not handle job ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: The name of the artifact to download. # diff --git a/actions/repository-owner-is-organization/README.md b/actions/repository-owner-is-organization/README.md index aedf5d8..455d494 100644 --- a/actions/repository-owner-is-organization/README.md +++ b/actions/repository-owner-is-organization/README.md @@ -26,7 +26,7 @@ Action to check if the repository owner is an organization. ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: GitHub token for fetching users API. # diff --git a/actions/set-matrix-output/README.md b/actions/set-matrix-output/README.md index 40d16d3..9be287a 100644 --- a/actions/set-matrix-output/README.md +++ b/actions/set-matrix-output/README.md @@ -31,7 +31,7 @@ This strategy effectively prevents any clashes or overwrites, maintaining the in ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: The matrix output to set. # diff --git a/actions/slugify/README.md b/actions/slugify/README.md index 553be29..fb75ce2 100644 --- a/actions/slugify/README.md +++ b/actions/slugify/README.md @@ -26,7 +26,7 @@ Action to slugify a given string value ```yaml -- uses: hoverkraft-tech/ci-github-common@0.18.0 +- uses: hoverkraft-tech/ci-github-common@0.19.0 with: # Description: The value to slugify #