Skip to content

[README.md] Install the CC BY-NC 4.0 packages with a one-line installer - #2

Merged
mmmarinho merged 1 commit into
mainfrom
nc-install-script
Oct 7, 2026
Merged

mmmarinho merged 1 commit into
mainfrom
nc-install-script

Conversation

@mmmarinho

Copy link
Copy Markdown
Member

What

Replace the manual CC BY-NC 4.0 apt recipe in docs/README.md with the curl ... | bash one-line installer, mirroring the "One-line installer" section already used for the LGPL packages.

Before

curl -s --compressed "https://marinholab.github.io/sas_debian_builder_noncommercial/KEY.gpg" \
| gpg --dearmor \
| sudo tee /etc/apt/trusted.gpg.d/smartarmstack_cc_by_nc.gpg >/dev/null
sudo curl -s --compressed -o /etc/apt/sources.list.d/smartarmstack_cc_by_nc.list \
"https://marinholab.github.io/sas_debian_builder_noncommercial/smartarmstack_cc_by_nc.list"
sudo apt update
sudo apt-get install ros-jazzy-sas-*

After

curl -fsSL https://raw.githubusercontent.com/MarinhoLab/sas-full/main/jazzy/install.sh | bash

The script is the CC BY-NC 4.0 bootstrap merged in MarinhoLab/sas-full#2; the URL is live (HTTP 200). Compared with the recipe above it uses a signed-by keyring under /etc/apt/keyrings instead of the deprecated global trusted.gpg.d, pins arch=, is idempotent on re-runs, and fails with the repo named when a package is missing. It also installs only the three CC BY-NC packages rather than the ros-jazzy-sas-* glob, so it will not pull the LGPL set twice.

A collapsible note documents the installer options, in the same dropdown style already used in this section.

Note on the install URL

The installer currently lives in MarinhoLab/sas-full, which is the container-image repo rather than the noncommercial deb builder. If you would prefer the docs not to depend on it, moving the script into the noncommercial builder repo (or smart_arm_stack_ROS2, next to the LGPL one) and having sas-full's Dockerfile fetch it would be the cleaner long-term home.


This PR was created by an AI agent (OpenHands) on behalf of the user.

Replace the manual key/source/install steps by the curl | bash bootstrap now
published in MarinhoLab/sas-full, mirroring the LGPL one-line installer.

Co-authored-by: openhands <openhands@all-hands.dev>
@mmmarinho

Copy link
Copy Markdown
Member Author

Note on the red deploy check

The MyST GitHub Pages Deploy workflow runs on on: [push, ...], and actions/deploy-pages cannot deploy from a non-default branch, so it fails for every branch push while succeeding on main:

Run Branch Result
37620155310 main ✅ success
37617973986 install-one-line (predates this PR) ❌ failure
37668664786 nc-install-script (this PR) ❌ failure

The job reports zero steps, i.e. it fails before the MyST build runs — consistent with the Pages environment not existing for a branch ref, not with anything in this diff. The build itself passed on main after the last merge, so this should go green once merged.

If you would like the check to be meaningful on branches, gating the deploy step on github.ref == 'refs/heads/main' (and building on other refs) would separate "the docs build" from "the docs deploy".


This comment was created by an AI agent (OpenHands) on behalf of the user.

@mmmarinho mmmarinho left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

👍

@mmmarinho
mmmarinho merged commit 7269588 into main Oct 7, 2026
1 check failed
@mmmarinho
mmmarinho deleted the nc-install-script branch October 7, 2026 18:45
@mmmarinho

Copy link
Copy Markdown
Member Author

Correction: actual cause of the deploy failure

My previous comment guessed at the mechanism. Having pulled the check-run annotations, the real error is precise:

Branch "nc-install-script" is not allowed to deploy to github-pages
  due to environment protection rules.
The deployment was rejected or didn't satisfy other protection rules.

Cause. The deploy job declares environment: github-pages, and that environment has a deployment-branch policy allowing only main (/environments/github-pages/deployment-branch-policies returns one entry: name: "main", type: "branch"). On a push to any other branch, Actions refuses to run the job against that environment — so no runner is ever assigned, which is exactly what the job metadata shows:

runner_id: 0   runner_name: ""   steps: []   created == started == completed  (1 s)

and why the log archive is a 22-byte empty zip, versus 137 KB for the successful main run. Nothing in the workflow executed; it was rejected at scheduling.

So my conclusion stands — unrelated to this diff, and it goes green on merge — but the reason is the explicit deployment-branch policy, not deploy-pages lacking a Pages environment.

If you want branch pushes to still validate the build, the gate belongs on the deployment step, not the job, so the environment is only requested on main:

    # environment: github-pages   <- move off the job
    steps:
      - uses: actions/checkout@v4
      # ... build + upload-pages-artifact ...
      - name: Deploy to GitHub Pages
        if: github.ref == 'refs/heads/main'
        environment:
          name: github-pages
          url: ${{ steps.deployment.outputs.page_url }}
        uses: actions/deploy-pages@v4

That keeps the site deploying from main only (unchanged behaviour) while branches get a real pass/fail on the MyST build. Say the word and I'll add it to this PR, or open a separate one.


This comment was created by an AI agent (OpenHands) on behalf of the user.

This branch had an error being deployed

1 failed deployment
github-pages — fd3c5fa8 Deployed Oct 7, 2026 by mmmarinho via deploy #105
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant