Skip to content

Conversation

@PastaPastaPasta
Copy link
Member

Issue being fixed or feature implemented

Avoid fetching tags in CI when not needed / used

What was done?

use --no-tags

How Has This Been Tested?

See CI

Breaking Changes

None

Checklist:

Go over all the following points, and put an x in all the boxes that apply.

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

@PastaPastaPasta PastaPastaPasta added this to the 23.1 milestone Nov 24, 2025
@github-actions
Copy link

github-actions bot commented Nov 24, 2025

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

@coderabbitai
Copy link

coderabbitai bot commented Nov 24, 2025

Walkthrough

GitHub Actions workflow files across the repository have been updated to include the --no-tags flag in git fetch commands. The flag is added to fetch operations in build-src, clang-diff-format, lint, and merge-check workflows. The flag prevents tags from being fetched alongside refs during CI pipeline setup, while maintaining existing branch synchronization behavior. A total of five git fetch invocations across four workflow files were modified with this addition.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

  • Simple, homogeneous changes applied consistently across multiple workflow files
  • Single flag addition to existing git commands with no logic or control flow modifications
  • Quick verification needed to confirm --no-tags placement is correct in each workflow file (particularly in merge-check.yml where two fetch commands were updated)

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding --no-tags to git fetch commands across multiple CI workflows to avoid unnecessary tag fetching.
Description check ✅ Passed The description is related to the changeset, explaining the issue being fixed (avoiding unnecessary tag fetches in CI) and the solution (using --no-tags flag).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 701e05b and 145fe8b.

📒 Files selected for processing (4)
  • .github/workflows/build-src.yml (1 hunks)
  • .github/workflows/clang-diff-format.yml (1 hunks)
  • .github/workflows/lint.yml (1 hunks)
  • .github/workflows/merge-check.yml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
{guix-build*,releases,**/guix-build*,releases/**,.github/**,depends/**,ci/**,contrib/**,doc/**}

📄 CodeRabbit inference engine (CLAUDE.md)

Do not make changes to build system files (guix-build*), release artifacts, or avoid changes to .github, depends, ci, contrib, and doc directories unless specifically prompted

Files:

  • .github/workflows/build-src.yml
  • .github/workflows/lint.yml
  • .github/workflows/merge-check.yml
  • .github/workflows/clang-diff-format.yml
🧠 Learnings (4)
📓 Common learnings
Learnt from: UdjinM6
Repo: dashpay/dash PR: 0
File: :0-0
Timestamp: 2025-02-13T07:36:17.572Z
Learning: In GitHub Actions checkout action, fetch-depth: 0 fetches all commit history for all branches and tags, while a positive number like fetch-depth: 50 fetches only that many recent commits, which is useful for CI optimization.
📚 Learning: 2025-11-24T16:41:22.445Z
Learnt from: CR
Repo: dashpay/dash PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:41:22.445Z
Learning: Applies to {guix-build*,releases,**/guix-build*,releases/**,.github/**,depends/**,ci/**,contrib/**,doc/**} : Do not make changes to build system files (guix-build*), release artifacts, or avoid changes to .github, depends, ci, contrib, and doc directories unless specifically prompted

Applied to files:

  • .github/workflows/build-src.yml
📚 Learning: 2025-11-24T16:41:22.445Z
Learnt from: CR
Repo: dashpay/dash PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-11-24T16:41:22.445Z
Learning: Always run linting before commits using test/lint/all-lint.py

Applied to files:

  • .github/workflows/lint.yml
📚 Learning: 2025-02-13T07:36:17.572Z
Learnt from: UdjinM6
Repo: dashpay/dash PR: 0
File: :0-0
Timestamp: 2025-02-13T07:36:17.572Z
Learning: In GitHub Actions checkout action, fetch-depth: 0 fetches all commit history for all branches and tags, while a positive number like fetch-depth: 50 fetches only that many recent commits, which is useful for CI optimization.

Applied to files:

  • .github/workflows/merge-check.yml
  • .github/workflows/clang-diff-format.yml
🔇 Additional comments (5)
.github/workflows/clang-diff-format.yml (1)

14-14: Optimization aligned with PR objectives.

The --no-tags flag correctly prevents tag fetching while maintaining branch synchronization for the subsequent diff operation. No functional concerns.

.github/workflows/build-src.yml (1)

43-43: Consistent optimization for branch synchronization.

The --no-tags flag prevents unnecessary tag fetching while preserving the develop branch ref needed for subsequent build operations. Properly implemented.

.github/workflows/lint.yml (1)

28-28: Correct optimization for linting workflow.

The --no-tags flag prevents unnecessary tag fetching. The develop ref is properly fetched and used by the subsequent merge-base operation for commit range determination.

.github/workflows/merge-check.yml (2)

31-31: Partial optimization applied correctly.

The --no-tags flag prevents tag fetching on the manual fetch. Note: the initial checkout with fetch-depth: 0 (line 19) still fetches all tags, so this optimization only prevents tag updates from the subsequent git fetch commands. The master ref is correctly fetched and available for merge operations.

Confirm that the partial tag fetching from fetch-depth: 0 followed by --no-tags on manual fetches is the intended behavior for the merge-check workflow.


33-33: Consistent application to base branch fetch.

The --no-tags flag is correctly applied to the base branch fetch, maintaining consistency with the master branch fetch pattern (line 31).


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@UdjinM6
Copy link

UdjinM6 commented Nov 24, 2025

This results in binaries with no specific version

> ./src/dashd --version
Dash Core version v23.0.0-unk

which makes CI build artifacts less useful imo

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
Copy link

@UdjinM6 UdjinM6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 815f7c4

@PastaPastaPasta PastaPastaPasta requested review from knst and kwvg November 26, 2025 14:06
Copy link
Collaborator

@kwvg kwvg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 815f7c4

@PastaPastaPasta PastaPastaPasta merged commit aa4e582 into dashpay:develop Nov 26, 2025
33 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants