Key files
versions.yaml- supported SNAP versions and retained platform cellsrecipe/meta.yaml- conda-build metadatarecipe/build.sh- Linux/macOS installer execution and pruningrecipe/bld.bat- Windows installer execution and pruningrecipe/activate.*- expose SNAP_HOME, gpt, snap, and Java settingsscripts/resolve.py- turnsversions.yamlinto build variablesscripts/compute-hashes.py- verifies installer URLs and fills sha256 values.github/workflows/build.yml- package build and publish workflow
Retained matrix
The public channel intentionally retains:
| SNAP | linux-64 | win-64 | osx-arm64 |
|---|---|---|---|
| 9.0.0 | yes | no | no |
| 10.0.0 | yes | no | no |
| 11.0.0 | yes | no | no |
| 12.0.0 | yes | no | no |
| 13.0.0 | yes | yes | yes |
Other cells are represented as null in versions.yaml; the workflow resolves them as intentional skips.
Build numbers
The package version is the SNAP version. Use the conda build number for packaging-only fixes:
13.0.0-1 Java 21 packaging fix
13.0.0-2 Linux/headless startup defaults
11.0.0-1 Linux/headless startup defaults
12.0.0-1 Linux/headless startup defaults
Local build
mamba install -n base -c conda-forge conda-build pyyaml ruamel.yaml
python scripts/compute-hashes.py --only 13.0.0/linux-64
eval "$(python scripts/resolve.py 13.0.0 linux-64)"
conda-build recipe/ --output-folder out
Or use the helper:
scripts/build-local.sh 13.0.0 linux-64
Publishing
Manual workflow inputs:
versions = 11.0.0 12.0.0 13.0.0
subdirs = linux-64
publish = true
Required repository secrets:
ANACONDA_TOKEN
ANACONDA_OWNER
The workflow resolves versions.yaml, skips null cells, builds on native runners, runs smoke tests, runs pyroSAR discovery on Unix, and uploads to Anaconda.org when publish=true.
GitHub Pages
GitHub Pages is configured to publish the docs/ directory from main.
Settings -> Pages -> Source -> Deploy from a branch
Branch: main
Folder: /docs
Expected URL:
https://pmuguda.github.io/snap-gpt-conda/