diff --git a/README.md b/README.md index 619f49eb..11d23d79 100644 --- a/README.md +++ b/README.md @@ -73,18 +73,19 @@ These badges show the status of workflows in dummy repositories that use (or sho The `config-*` and `build-*` actions select the dependency resolve endpoint from `runner.environment` when `repox-url` is omitted: - GitHub-hosted runners use SaaS Repox (`https://repox.jfrog.io`). -- Self-hosted runners use the production JFrog Edge (`https://repox-internal.sonar.build`). +- Self-hosted runners use the production JFrog Edge (`https://repox.sonar.build`). - An explicit `repox-url` always overrides runner selection, including SaaS, dev Edge and production Edge URLs. The selected URL also determines the matching Vault server and reader-token engine. - Deployment, publication, build info and promotion always use SaaS Repox (`https://repox.jfrog.io`): the Edge is read-only. -- The internal Edge hostname is only reachable from runners inside the SonarSource network. -- Self-hosted runners without internal Edge connectivity must set `repox-url: https://repox.jfrog.io` on every affected `config-*` - and `build-*` action, including actions called through composite wrappers. GitHub-hosted runners with internal connectivity can - explicitly select `repox-url: https://repox-internal.sonar.build`. +- `repox.sonar.build` resolves to the Edge's internal load balancer from the SonarSource runner networks and to its public load + balancer elsewhere, so the same URL works for runners, developer machines and committed lockfiles. +- Self-hosted runners that must not use the Edge must set `repox-url: https://repox.jfrog.io` on every affected `config-*` + and `build-*` action, including actions called through composite wrappers. GitHub-hosted runners can explicitly select + `repox-url: https://repox.sonar.build`. - Repositories resolving through Edge during Orchestrator-based integration tests need an Orchestrator release that recognizes - `repox-internal.sonar.build` as a SonarSource Artifactory host. Until they adopt that release, set + `repox.sonar.build` as a SonarSource Artifactory host (6.4.4.4797 or later). Until they adopt that release, set `repox-url: https://repox.jfrog.io` to preserve authenticated private downloads and version alias resolution. - Match hardcoded package indexes and credentials to the selected `repox-url`. For example, update a named uv index and its lockfile when moving to the Edge, and avoid overwriting Edge credentials with independently fetched SaaS tokens. diff --git a/build-gradle/action.yml b/build-gradle/action.yml index ed7043ef..7696250c 100644 --- a/build-gradle/action.yml +++ b/build-gradle/action.yml @@ -47,7 +47,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} use-develocity: description: Whether to use Develocity for build tracking. default: 'false' diff --git a/build-maven/action.yml b/build-maven/action.yml index e36fa1ca..630da566 100644 --- a/build-maven/action.yml +++ b/build-maven/action.yml @@ -57,7 +57,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} use-develocity: description: Whether to use Develocity for build tracking. default: 'false' diff --git a/build-npm/action.yml b/build-npm/action.yml index 88c2a0cf..7e4f4915 100644 --- a/build-npm/action.yml +++ b/build-npm/action.yml @@ -35,7 +35,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} sonar-platform: description: SonarQube primary platform (next, sqc-eu, sqc-us, or none). Use 'none' to skip sonar scans. default: next diff --git a/build-poetry/action.yml b/build-poetry/action.yml index 306648c3..51cd37b2 100644 --- a/build-poetry/action.yml +++ b/build-poetry/action.yml @@ -33,7 +33,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} sonar-platform: description: SonarQube primary platform (next, sqc-eu, sqc-us, or none). Use 'none' to skip sonar scans. default: next diff --git a/build-yarn/action.yml b/build-yarn/action.yml index a6331ff2..1797d033 100644 --- a/build-yarn/action.yml +++ b/build-yarn/action.yml @@ -38,7 +38,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} sonar-platform: description: SonarQube primary platform (next, sqc-eu, sqc-us, or none). Use 'none' to skip sonar scans. default: next diff --git a/config-bun/action.yml b/config-bun/action.yml index da34fe47..d623bb6c 100644 --- a/config-bun/action.yml +++ b/config-bun/action.yml @@ -12,7 +12,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} disable-caching: description: Whether to disable Bun install caching entirely default: 'false' diff --git a/config-gradle/action.yml b/config-gradle/action.yml index 4a4416f2..5755035f 100644 --- a/config-gradle/action.yml +++ b/config-gradle/action.yml @@ -12,7 +12,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} use-develocity: description: Whether to use Develocity for build tracking. default: 'false' diff --git a/config-maven/action.yml b/config-maven/action.yml index a2cdcb4e..a5d7df78 100644 --- a/config-maven/action.yml +++ b/config-maven/action.yml @@ -15,7 +15,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} use-develocity: description: Whether to use Develocity for build tracking. default: 'false' diff --git a/config-npm/action.yml b/config-npm/action.yml index 1ae380c5..6d839f76 100644 --- a/config-npm/action.yml +++ b/config-npm/action.yml @@ -18,7 +18,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} host-actions-root: description: Path to the actions folder on the host (used when called from another local action) default: '' diff --git a/config-nuget/action.yml b/config-nuget/action.yml index 0cccff99..272597d9 100644 --- a/config-nuget/action.yml +++ b/config-nuget/action.yml @@ -15,7 +15,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} runs: using: composite diff --git a/config-pip/action.yml b/config-pip/action.yml index f6aa4dbf..8c185651 100644 --- a/config-pip/action.yml +++ b/config-pip/action.yml @@ -13,7 +13,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} cache-paths: description: Cache paths to use (multiline). default: ~/.cache/pip diff --git a/config-poetry/action.yml b/config-poetry/action.yml index 268df475..9b5b2247 100644 --- a/config-poetry/action.yml +++ b/config-poetry/action.yml @@ -15,7 +15,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} poetry-virtualenvs-path: description: Path to the Poetry virtual environments, relative to GitHub workspace. The folder is cached only if it is a subdirectory of `poetry-cache-dir`. diff --git a/config-uv/action.yml b/config-uv/action.yml index 8c9d90ec..346db44d 100644 --- a/config-uv/action.yml +++ b/config-uv/action.yml @@ -15,7 +15,7 @@ inputs: repox-url: description: URL for Repox used to resolve dependencies. Defaults to SaaS on GitHub-hosted runners and the production Edge on self-hosted runners. Explicit URLs override runner selection. - default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox-internal.sonar.build' }} + default: ${{ runner.environment == 'github-hosted' && 'https://repox.jfrog.io' || 'https://repox.sonar.build' }} uv-cache-dir: description: Path to the uv cache directory, relative to GitHub workspace default: .cache/uv diff --git a/spec/config-bun_spec.sh b/spec/config-bun_spec.sh index ff41530a..e471f3da 100644 --- a/spec/config-bun_spec.sh +++ b/spec/config-bun_spec.sh @@ -3,11 +3,11 @@ eval "$(shellspec - -c) exit 1" export GITHUB_ENV=/dev/null export GITHUB_OUTPUT=/dev/null -export ARTIFACTORY_URL="https://repox-internal.sonar.build/artifactory" +export ARTIFACTORY_URL="https://repox.sonar.build/artifactory" export ARTIFACTORY_USERNAME="test-user" export ARTIFACTORY_ACCESS_TOKEN="test-token" -EDGE_REGISTRY="https://repox-internal.sonar.build/artifactory/api/npm/npm/" +EDGE_REGISTRY="https://repox.sonar.build/artifactory/api/npm/npm/" Describe 'config-bun/bun_config.sh' It 'does not run main when sourced'