Skip to content

chore: migrate repo to qualcomm/nexa-sdk#1082

Merged
RemiliaForever (RemiliaForever) merged 3 commits into
mainfrom
chore/migrate-repo-url
Jun 26, 2026
Merged

chore: migrate repo to qualcomm/nexa-sdk#1082
RemiliaForever (RemiliaForever) merged 3 commits into
mainfrom
chore/migrate-repo-url

Conversation

@RemiliaForever

Copy link
Copy Markdown
Contributor

What

Migrate the repository from qcom-ai-hub to qualcomm/nexa-sdk: all repo URLs, Go module paths, git submodule remotes, and docs references, plus the CI changes needed to keep the pipeline green on the new repo.

Changes

  • URLs / module paths: github.com/qcom-ai-hub/geniexgithub.com/qualcomm/nexa-sdk across Go modules, docs, and config. Submodule geniex-qairt (and its nested geniex-proc) now point at qualcomm over HTTPS.
  • CI auth: two PATs — GH_PAT for checkout + the private submodule chain, GHCR_PAT for toolchain image pulls. Toolchain images stay on ghcr.io/qcom-ai-hub/geniex-toolchain-* until the qualcomm org mirror is ready (intentional).
  • Runner labels: removed self-hosted labels (linux-arm64 / windows-arm64) replaced with GitHub-hosted runners — windows-11-arm, and ubuntu-24.04-arm where arm64 binaries must actually run. matrix.platform keeps the canonical ids (artifact names / conditions).
  • QDC tests: quant= kwarg → precision= to match the runtime/compute-unit/precision API alignment merged from main.
  • release.yml: GHCR push stays disabled (in _build-docker.yml); all other publish jobs are live — publish-github-release, publish-s3, publish-docker (build/validate), publish-testpypi, publish-maven-central.

Verification

Validated by cutting prerelease tags (v0.3.0-alpha.8) which trigger both Test and Release, plus manual workflow_dispatch runs of PR Check and Docs Check on this branch:

  • PR Check: lint (go/cpp/python/rust), build-sdk ×3, build-cli ×2, build-docker, build-android, test-python/test-go/test-sdk-ci — all green
  • Docs Check: green
  • Test: test-go / test-python / test-sdk-ci (linux + windows) green; test-sdk-qdc/llama_cpp_llm green (precision fix verified)
  • Release: publish-docker build, publish-testpypi, publish-github-release green; publish-maven-central skipped (prerelease gate)

Known failures — out of scope (not migration / not code-fixable)

  • publish-s3: AWS OIDC trust policy not yet updated for qualcomm/nexa-sdk (sts:AssumeRoleWithWebIdentity denied) — needs an AWS console change.
  • test-sdk-qdc/qairt: QDC device-side job errored before producing JUnit XML (device execution error, not test logic).
  • test-sdk-qdc/llama_cpp_vlm: model-output quality flake.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Migrates the repository namespace and associated references from the prior org to qualcomm/nexa-sdk, updating Go module/import paths, Bazel importpaths, docs links, submodule remotes, and CI configuration to keep builds/tests/releases working under the new repo.

Changes:

  • Updated repo URLs and Go/Bazel module/import paths to github.com/qualcomm/nexa-sdk across CLI/server, bindings, and documentation.
  • Adjusted CI workflows for new runner labels, submodule auth (SSH→HTTPS rewrite), and GHCR auth.
  • Updated Llama.cpp plugin tests to use precision= (replacing quant=) to match the current runtime API.

Reviewed changes

Copilot reviewed 75 out of 75 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
tests/plugins/llama_cpp/test_llama_cpp_llm.py Switches model load kwarg from quant to precision in tests.
tests/conftest.py Updates model cache helper call to use precision=.
sdk/benchmark/README.md Updates documented toolchain image references as part of migration.
scripts/README.md Updates release/docs links and CLI image references to new repo/org.
notes/run.md Updates release page references and repo naming in run notes.
notes/build.md Updates documented toolchain image references to new org.
MODULE.bazel Updates Bazel go_deps repo name for migrated Go module path.
HANDOFF-android-aar.md Updates clone URL and toolchain image reference.
examples/android/README.md Updates clone URL to new repo.
docs/en/run/python/quickstart.mdx Updates GitHub link to notebook under new repo.
docs/en/run/linux/install.mdx Updates GHCR image reference to new org.
docs/en/run/android/quickstart.mdx Updates sample app links to new repo.
docs/en/run/android/install.mdx Updates sample app link to new repo.
docs/en/run/android/api-reference.mdx Updates source link to new repo.
docs/cn/run/python/quickstart.mdx Updates GitHub link to notebook under new repo.
docs/cn/run/linux/install.mdx Updates GHCR image reference to new org.
docs/cn/run/android/quickstart.mdx Updates sample app links to new repo (CN).
docs/cn/run/android/install.mdx Updates sample app link to new repo (CN).
docs/cn/run/android/api-reference.mdx Updates source link to new repo (CN).
cli/server/utils/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/server/service/keepalive.go Updates Go imports to migrated module path.
cli/server/service/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/server/server.go Updates Go imports to migrated module path.
cli/server/route.go Updates Go imports to migrated module path.
cli/server/middleware/cors.go Updates Go imports to migrated module path.
cli/server/middleware/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/server/handler/model.go Updates Go imports to migrated module path.
cli/server/handler/chat.go Updates Go imports to migrated module path.
cli/server/handler/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/server/docs/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/server/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/release/linux/install.sh Updates raw GitHub URL and issues URL to new repo.
cli/release/linux/check.sh Updates raw GitHub URL to new repo.
cli/release/linux/BUILD.bazel Updates GHCR tag outputs to new org.
cli/internal/types/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/testutil/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/store/manager.go Updates Go import to migrated module path.
cli/internal/store/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/render/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/record/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/readline/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/downloader/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/internal/config/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/go.mod Migrates CLI module path and bindings dependency/replace path.
cli/cmd/geniex/version.go Updates Go imports to migrated module path.
cli/cmd/geniex/update.go Updates internal imports and GitHub API URL to new repo.
cli/cmd/geniex/serve.go Updates Go imports to migrated module path.
cli/cmd/geniex/run.go Updates Go imports to migrated module path.
cli/cmd/geniex/model.go Updates Go imports to migrated module path.
cli/cmd/geniex/model_test.go Updates Go imports to migrated module path.
cli/cmd/geniex/main.go Updates Go imports to migrated module path.
cli/cmd/geniex/infer.go Updates Go imports to migrated module path.
cli/cmd/geniex/help.go Updates Go imports to migrated module path.
cli/cmd/geniex/config.go Updates Go imports to migrated module path.
cli/cmd/geniex/common/repl.go Updates Go imports to migrated module path.
cli/cmd/geniex/common/process.go Updates Go imports to migrated module path.
cli/cmd/geniex/common/process_test.go Updates Go imports to migrated module path.
cli/cmd/geniex/common/log.go Updates Go imports to migrated module path.
cli/cmd/geniex/common/error.go Updates Go imports to migrated module path.
cli/cmd/geniex/common/BUILD.bazel Updates Bazel importpath for migrated module path.
cli/cmd/geniex/BUILD.bazel Updates Bazel importpath for migrated module path.
bindings/python/geniex/_ffi/_lib.py Updates “build instructions” URL to new repo.
bindings/python/BUILD.md Updates release asset install URLs to new repo.
bindings/python/_sdk_fetch.py Updates default release base URL to new repo.
bindings/go/go.mod Migrates Go bindings module path.
bindings/go/BUILD.bazel Updates Bazel importpath for migrated module path.
.gitmodules Updates submodule remote to new org over HTTPS.
.github/workflows/release.yml Updates published Docker image name and Maven POM URLs/SCM metadata.
.github/workflows/docs.yml Updates Pages environment URL to new org/repo.
.github/workflows/_test.yml Maps canonical platform ids to GitHub-hosted runner labels.
.github/workflows/_build-toolchain-docker.yml Updates toolchain image naming under new org.
.github/workflows/_build-sdk.yml Updates Windows runner label; adds SSH→HTTPS rewrite; adjusts GHCR login.
.github/workflows/_build-docker.yml Updates default image name and runner label; keeps GHCR push steps disabled.
.github/workflows/_build-cli.yml Updates runner labels for ARM64 builds.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

IMAGE=ghcr.io/qualcomm/geniex-cli:latest

# Option B — Qualcomm Container Registry:
docker login docker-registry.qualcomm.com -u '$app' -p GB2S6KXMJXTPV8VHNFNS7Q6LVH75LOOBTLT8D723WUX6PSFZMTX95GIQG4EFWH5C021ONZ5763VI9IDHU96Q7VAZJ2830CLX3NPI6STQOJWRYXLLA2ZYTL1S
IMAGE=ghcr.io/qualcomm/geniex-cli:latest

# Option B — Qualcomm Container Registry:
docker login docker-registry.qualcomm.com -u '$app' -p GB2S6KXMJXTPV8VHNFNS7Q6LVH75LOOBTLT8D723WUX6PSFZMTX95GIQG4EFWH5C021ONZ5763VI9IDHU96Q7VAZJ2830CLX3NPI6STQOJWRYXLLA2ZYTL1S
Comment thread .github/workflows/_build-sdk.yml Outdated
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GH_PAT }}
username: hongzhic_QCOM
Comment on lines +14 to +16
# Image names:
# ghcr.io/qcom-ai-hub/geniex-toolchain-linux:<version>
# ghcr.io/qcom-ai-hub/geniex-toolchain-android:<version>
# ghcr.io/qualcomm/geniex-toolchain-linux:<version>
# ghcr.io/qualcomm/geniex-toolchain-android:<version>
Comment on lines +56 to +60
dockerfile: .github/docker/toolchain-linux.Dockerfile
image: ghcr.io/qcom-ai-hub/geniex-toolchain-linux
image: ghcr.io/qualcomm/geniex-toolchain-linux
- platform: android
dockerfile: .github/docker/toolchain-android.Dockerfile
image: ghcr.io/qcom-ai-hub/geniex-toolchain-android
image: ghcr.io/qualcomm/geniex-toolchain-android
Comment thread sdk/benchmark/README.md Outdated
--volume $(pwd):/workspace --workdir /workspace/sdk \
--platform linux/amd64 \
ghcr.io/qcom-ai-hub/geniex-toolchain-linux:v0.0.2 \
ghcr.io/qualcomm/geniex-toolchain-linux:v0.0.2 \
Comment thread sdk/benchmark/README.md Outdated
--volume $(pwd):/workspace --workdir /workspace/sdk \
--platform linux/amd64 \
ghcr.io/qcom-ai-hub/geniex-toolchain-android:v0.0.1 \
ghcr.io/qualcomm/geniex-toolchain-android:v0.0.1 \
Comment thread notes/build.md Outdated
-e CCACHE_DIR=/workspace/.ccache \
--platform linux/amd64 \
ghcr.io/qcom-ai-hub/geniex-toolchain-linux:v0.0.2 \
ghcr.io/qualcomm/geniex-toolchain-linux:v0.0.2 \
Comment thread notes/build.md Outdated
-e CCACHE_DIR=/workspace/.ccache \
--platform linux/amd64 \
ghcr.io/qcom-ai-hub/geniex-toolchain-android:v0.0.1 \
ghcr.io/qualcomm/geniex-toolchain-android:v0.0.1 \
<licenses><license><name>Apache License, Version 2.0</name><url>https://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution></license></licenses>
<developers><developer><id>qualcomm-aisw</id><name>Qualcomm AISW</name><organization>Qualcomm</organization><organizationUrl>https://www.qualcomm.com</organizationUrl></developer></developers>
<scm><connection>scm:git:git://github.com/qcom-ai-hub/geniex.git</connection><developerConnection>scm:git:ssh://github.com/qcom-ai-hub/geniex.git</developerConnection><url>https://github.com/qcom-ai-hub/geniex</url></scm>
<scm><connection>scm:git:git://github.com/qualcomm/nexa-sdk.git</connection><developerConnection>scm:git:ssh://github.com/qualcomm/nexa-sdk.git</developerConnection><url>https://github.com/qualcomm/nexa-sdk</url></scm>
@mintlify

mintlify Bot commented Jun 24, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
qualcomm-0801e48b 🟢 Ready View Preview Jun 24, 2026, 2:09 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@RemiliaForever RemiliaForever (RemiliaForever) force-pushed the chore/migrate-repo-url branch 2 times, most recently from 06fc49f to 4ed3a01 Compare June 24, 2026 16:56
Drop GHCR for all first-party images and publish exclusively to
Docker Hub:

- CLI release image -> docker.io/qualcomm/geniex (remove GHCR login +
  push steps in _build-docker.yml; drop the GHCR ref in release.yml and
  the OCI repo_tags in cli/release/linux/BUILD.bazel)
- Toolchain images -> docker.io/qualcomm/geniex-toolchain-{linux,android}
  (_build-toolchain-docker.yml logs in to Docker Hub; _build-sdk.yml
  pulls the toolchain containers from Docker Hub), pinned at v0.0.1
- DockerHub login uses the DOCKERHUB_USERNAME / DOCKERHUB_TOKEN secrets
- Docs (notes/build.md, sdk/benchmark/README.md, scripts/README.md,
  HANDOFF-android-aar.md, docs/*/run/linux/install.mdx,
  docs/*/resources/troubleshooting.mdx) point at Docker Hub; the
  upstream ghcr.io/snapdragon-toolchain base images are unchanged
@RemiliaForever RemiliaForever (RemiliaForever) merged commit ba5c733 into main Jun 26, 2026
18 of 20 checks passed
@RemiliaForever RemiliaForever (RemiliaForever) deleted the chore/migrate-repo-url branch June 26, 2026 02:55
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