Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,582 changes: 791 additions & 791 deletions .github/conda-lock/py3.12.conda-lock.yml

Large diffs are not rendered by default.

1,539 changes: 776 additions & 763 deletions .github/conda-lock/py3.13.conda-lock.yml

Large diffs are not rendered by default.

1,539 changes: 776 additions & 763 deletions .github/conda-lock/py3.14.conda-lock.yml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/scripts/generate_conda_locks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly REPO_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
readonly LOCK_DIR="${REPO_ROOT}/.github/conda-lock"
readonly TEMP_ENV_FILE="${REPO_ROOT}/env_tmp.yml"
readonly PINNED_CONDA_LOCK_VERSION="4.0.0"
readonly PINNED_CONDA_LOCK_VERSION="4.0.2"
readonly PYTHON_VERSIONS=("3.12" "3.13" "3.14")

require_command() {
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/ci-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#
# STAGE 1: QUICK VALIDATION (Parallel with Stage 2)
# - Goal: 2-3 minute feedback on common PR issues.
# - Actions: Linting, formatting, and Jupyter Notebook cleanliness checks.
# - Actions: Linting and formatting.
# - Optimization: Uses a dedicated conda cache (key suffix "-lint") that is
# intentionally separate from the full-matrix cache. The two jobs run in
# parallel and would otherwise race to write the same cache key; because
Expand Down Expand Up @@ -60,7 +60,7 @@ on:
env:
CONDA_ENV: firecrown_developer
CACHE_VERSION: 34
CONDA_LOCK_VERSION: "4.0.0"
CONDA_LOCK_VERSION: "4.0.2"

jobs:
quick-validation:
Expand Down Expand Up @@ -171,9 +171,6 @@ jobs:
echo "starting make lint"
make lint
echo "done with make lint"
- name: Ensure clear Jupyter Notebooks
uses: ResearchSoftwareActions/EnsureCleanNotebooksAction@1.1

firecrown-miniforge:
name: (${{ matrix.os }}, py${{ matrix.python-version }})${{ matrix.coverage && ' + coverage' || '' }}
runs-on: ${{ matrix.os }}-latest
Expand Down
6 changes: 0 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ dist/
build/
__pycache__/
examples/output_*
examples/*/.ipynb_checkpoints/*
examples/srd_sn/sndata/
.idea
.project
Expand All @@ -23,8 +22,6 @@ examples/output_*
examples/desc_srd_v1/srd_data/LSST_DESC_SRD_v1_release

*.pytest_cache
*.ipynb_checkpoints

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -102,9 +99,6 @@ docs/api
# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ To regenerate lockfiles and manage the lockfile generation process, see
Developers must have `conda-lock` installed to regenerate lockfiles. Install it with:

```bash
pip install conda-lock==4.0.0
pip install conda-lock==4.0.2
```

The `CONTRIBUTING_ADVANCED.md` file contains detailed information about lockfile management and the CI system.
6 changes: 3 additions & 3 deletions CONTRIBUTING_ADVANCED.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,15 +177,15 @@ come from the branch named in `ref`.

Firecrown uses `conda-lock` to generate reproducible lockfiles stored in `.github/conda-lock/`. The lockfiles use the unified multi-platform format (`py{version}.conda-lock.yml`) which bundles all supported Python versions (3.12-3.14) and platforms (linux-64, osx-arm64) in a single file per Python version.

**Generating lockfiles**: Run `make conda-lock` to regenerate all lockfiles. This requires `conda-lock==4.0.0` installed in your development environment:
**Generating lockfiles**: Run `make conda-lock` to regenerate all lockfiles. This requires `conda-lock==4.0.2` installed in your development environment:

```bash
pip install conda-lock==4.0.0
pip install conda-lock==4.0.2
```

**Verifying lockfiles**: Before pushing, run `make conda-lock-check` to confirm the lockfiles match the current `environment.yml` and git HEAD.

**CI behavior**: CI jobs install `conda-lock` via `python -m pip install conda-lock==4.0.0` and use `conda-lock install` to create environments from the lockfiles. This ensures pip dependencies (`cobaya`, `isitgr`, `lsstdesc-crow`, `pygobject-stubs`) are resolved and installed as part of the locked environment, not as a separate step.
**CI behavior**: CI jobs install `conda-lock` via `python -m pip install conda-lock==4.0.2` and use `conda-lock install` to create environments from the lockfiles. This ensures pip dependencies (`cobaya`, `isitgr`, `lsstdesc-crow`, `pygobject-stubs`) are resolved and installed as part of the locked environment, not as a separate step.

**Cache keys**: CI uses lockfile hashes in cache keys (e.g., `conda-Linux-X64-py3.12-lock-{hash}-v34-lint`) to invalidate caches when dependencies change.

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ clean-coverage: ## Remove coverage reports
git clean -fdX $(CLEAN_EXCLUDES) -- coverage.json coverage.xml .coverage .coverage.* $(HTMLCOV_DIR)

clean-docs: ## Remove built documentation
git clean -fdX $(CLEAN_EXCLUDES) -- $(DOCS_BUILD_DIR) $(TUTORIAL_OUTPUT_DIR) $(AUTOAPI_BUILD_DIR)
git clean -fdX $(CLEAN_EXCLUDES) -- $(DOCS_BUILD_DIR) $(TUTORIAL_OUTPUT_DIR) $(AUTOAPI_BUILD_DIR) $(TUTORIAL_DIR)/.quarto $(TUTORIAL_DIR)/_site

clean-build: ## Remove build artifacts
git clean -fdX $(CLEAN_EXCLUDES) -- build/ dist/ *.egg-info/ firecrown/fctools/__pycache__ tests/__pycache__
Expand Down
Loading