Skip to content

Conversation

@Duhemm
Copy link
Contributor

@Duhemm Duhemm commented May 20, 2025

This sbt plugin can be used to simplify the build. Currently, there's some custom logic that extracts some environment variables set by CI, so that their values show up in Develocity.
sbt-develocity-common-custom-user-data actually extracts the same values, except GITHUB_REPOSITORY, and can be used instead.

This plugin is open source, distributed under Apache 2 license. Its sources are available at
https://github.com/gradle/common-custom-user-data-sbt-plugin.

Differences:

  • Tags:

    • "Local" becomes "LOCAL"
  • Custom values:

    • "GITHUB_REPOSITORY" is not extracted anymore.
    • "GITHUB_SHA" becomes "Git commit id"
    • "GITHUB_WORKFLOW" becomes "CI workflow"
  • Links:

    • "GitHub Run" becomes "GitHub Actions build"
    • "GitHub Commit" becomes "GitHub Source"

In addition, the following will be captured:

  • Tags:

    • The OS name (e.g. Linux, Mac OS X, etc.)
    • The IDE, if available (e.g. IntelliJ, Eclipse, etc.)
    • The Git branch name (on CI only)
    • "Dirty", if the repo is dirty (on CI only)
  • Custom values:

    • "$ide version", containing the IDE version, if available
    • "CI provider" (e.g. "GitHub Actions")
    • "Git repository" (e.g. "https://github.com/scala/scala3")
    • "PR branch" (e.g. mduhem/sbt-ccud)
    • "Git status", containing the git status (on CI only)
  • Links:

    • "CI workflow", linking to other Build Scans running the same CI workflow
    • "CI run", linking to other Build Scans produced in the same CI run
    • "Git commit id", linking to other Build Scans produced using the same commit

This sbt plugin can be used to simplify the build. Currently, there's
some custom logic that extracts some environment variables set by CI, so
that their values show up in Develocity.
sbt-develocity-common-custom-user-data actually extracts the same
values, except `GITHUB_REPOSITORY`, and can be used instead.

This plugin is open source, distributed under Apache 2 license. Its
sources are available at
https://github.com/gradle/common-custom-user-data-sbt-plugin.

Differences:

 - Tags:
    - "Local" becomes "LOCAL"

 - Custom values:
    - "GITHUB_REPOSITORY" is not extracted anymore.
    - "GITHUB_SHA" becomes "Git commit id"
    - "GITHUB_WORKFLOW" becomes "CI workflow"

 - Links:
    - "GitHub Run" becomes "GitHub Actions build"
    - "GitHub Commit" becomes "GitHub Source"

In addition, the following will be captured:
 - Tags:
    - The OS name (e.g. Linux, Mac OS X, etc.)
    - The IDE, if available (e.g. IntelliJ, Eclipse, etc.)
    - The Git branch name (on CI only)
    - "Dirty", if the repo is dirty (on CI only)

 - Custom values:
    - "$ide version", containing the IDE version, if available
    - "CI provider" (e.g. "GitHub Actions")
    - "Git repository" (e.g. "https://github.com/scala/scala3")
    - "PR branch" (e.g. mduhem/sbt-ccud)
    - "Git status", containing the git status (on CI only)

 - Links:
    - "CI workflow", linking to other Build Scans running the same
      CI workflow
    - "CI run", linking to other Build Scans produced in the same CI run
    - "Git commit id", linking to other Build Scans produced using the
      same commit
@hamzaremmal hamzaremmal self-assigned this May 20, 2025
@hamzaremmal hamzaremmal merged commit 46b584b into scala:main Jun 25, 2025
29 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.

2 participants