From c1989cba4cbaa5c7f2abf79ddc02d36533640f02 Mon Sep 17 00:00:00 2001 From: Romain Floreani Date: Thu, 3 Sep 2026 18:38:46 -0400 Subject: [PATCH] DEVOPS-1133: Pin GitHub Actions to commit hashes Pin all GitHub Actions and reusable workflow references to immutable commit hashes, and add the dependabot auto-merge and WIP status workflows. --- .github/workflows/dependabot-auto-merge.yml | 16 ++++++++++++++++ .github/workflows/issue_to_jira.yml | 2 +- .github/workflows/pr_jira_actions.yml | 2 +- .github/workflows/python_deploy_dev.yml | 4 ++-- .github/workflows/python_deploy_prod.yml | 4 ++-- .github/workflows/security_scan.yml | 4 ++-- .github/workflows/wip-status.yml | 12 ++++++++++++ 7 files changed, 36 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/dependabot-auto-merge.yml create mode 100644 .github/workflows/wip-status.yml diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml new file mode 100644 index 000000000..59665f44e --- /dev/null +++ b/.github/workflows/dependabot-auto-merge.yml @@ -0,0 +1,16 @@ +name: Dependabot auto-merge + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + call-workflow-dependabot-auto-merge: + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-dependabot-auto-merge.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 + permissions: + contents: write + pull-requests: write + statuses: write + checks: read + with: + dependabot-groups: mirageo-ci-tools,pre-commit-hooks diff --git a/.github/workflows/issue_to_jira.yml b/.github/workflows/issue_to_jira.yml index 64350558a..92f12a6f9 100644 --- a/.github/workflows/issue_to_jira.yml +++ b/.github/workflows/issue_to_jira.yml @@ -9,7 +9,7 @@ permissions: {} jobs: call-workflow-create-jira-issue: if: startsWith(github.repository, 'MiraGeoscience/') # run on the Mira repo only - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-jira-issue_to_jira.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-jira-issue_to_jira.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 permissions: contents: read issues: write diff --git a/.github/workflows/pr_jira_actions.yml b/.github/workflows/pr_jira_actions.yml index 65299b541..6ae51e0db 100644 --- a/.github/workflows/pr_jira_actions.yml +++ b/.github/workflows/pr_jira_actions.yml @@ -9,7 +9,7 @@ jobs: if: | # run on the Mira repo only startsWith(github.repository, 'MiraGeoscience/') && (github.event.action != 'edited' || github.event.changes.title != null) - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-jira-pr_actions.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-jira-pr_actions.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 permissions: contents: read pull-requests: write diff --git a/.github/workflows/python_deploy_dev.yml b/.github/workflows/python_deploy_dev.yml index 38c73c14f..936a12e6c 100644 --- a/.github/workflows/python_deploy_dev.yml +++ b/.github/workflows/python_deploy_dev.yml @@ -32,7 +32,7 @@ jobs: call-workflow-conda-publish: name: Publish development conda package on JFrog Artifactory if: github.repository == 'MiraGeoscience/gempy' - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_rattler_package.yml@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_rattler_package.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 permissions: id-token: write contents: write @@ -51,7 +51,7 @@ jobs: call-workflow-pypi-publish: name: Publish development pypi package (JFrog Artifactory) if: github.repository == 'MiraGeoscience/gempy' - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@v3.7.0-alpha.1 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-publish_pypi_package.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 permissions: id-token: write contents: write diff --git a/.github/workflows/python_deploy_prod.yml b/.github/workflows/python_deploy_prod.yml index d7f9ec91b..77f6a5521 100644 --- a/.github/workflows/python_deploy_prod.yml +++ b/.github/workflows/python_deploy_prod.yml @@ -55,7 +55,7 @@ jobs: if: | github.repository == 'MiraGeoscience/gempy' && (github.event_name == 'release' || github.event.inputs.publish-conda == 'true') - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_conda_assets.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_conda_assets.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 permissions: id-token: write contents: write @@ -71,7 +71,7 @@ jobs: if: | github.repository == 'MiraGeoscience/gempy' && (github.event_name == 'release' || github.event.inputs.publish-pypi == 'true') - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_pypi_assets.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-release_pypi_assets.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 permissions: id-token: write contents: write diff --git a/.github/workflows/security_scan.yml b/.github/workflows/security_scan.yml index 49675b3f5..aa2d8b03e 100644 --- a/.github/workflows/security_scan.yml +++ b/.github/workflows/security_scan.yml @@ -31,7 +31,7 @@ jobs: security-events: write contents: read actions: read - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-zizmor-advanced-security.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-zizmor-advanced-security.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 call-workflow-zizmor-advanced-security: name: Zizmor analysis (annotate) @@ -40,4 +40,4 @@ jobs: checks: write contents: read actions: read - uses: MiraGeoscience/CI-tools/.github/workflows/reusable-zizmor-annotate.yml@v3 + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-zizmor-annotate.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 diff --git a/.github/workflows/wip-status.yml b/.github/workflows/wip-status.yml new file mode 100644 index 000000000..7b10fb5e3 --- /dev/null +++ b/.github/workflows/wip-status.yml @@ -0,0 +1,12 @@ +name: WIP status + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review, edited] + +jobs: + call-workflow-wip-status: + uses: MiraGeoscience/CI-tools/.github/workflows/reusable-wip-status.yml@7241532854727d993872b67fc761139b8438615b # v3.12.0 + permissions: + contents: read + statuses: write