Skip to content

Commit cd91962

Browse files
Merge branch 'master' into issues/580/crow
2 parents b5c126c + f5de4c5 commit cd91962

File tree

213 files changed

+12995
-6488
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+12995
-6488
lines changed

.github/workflows/ci.yml

Lines changed: 44 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#
3636
# Performance Improvements:
3737
# - Quick feedback: 25-30 min → 2-3 min (90% faster)
38-
# - Coverage upload: 25-30 min → 8-12 min (60% faster)
38+
# - Coverage upload: 25-30 min → 8-12 min (60% faster)
3939
# - Failed PRs: 25-30 min → 3-5 min (85% faster)
4040
# - Successful PRs: 25-30 min → 20-25 min (20% faster)
4141
#
@@ -50,18 +50,18 @@ name: firecrown-ci
5050
on:
5151
push:
5252
branches:
53-
- 'master'
53+
- "master"
5454
paths-ignore:
55-
- 'docs/**/*.md'
56-
- '*.md'
55+
- "docs/**/*.md"
56+
- "*.md"
5757
pull_request:
5858
branches:
59-
- '*'
59+
- "*"
6060
paths-ignore:
61-
- 'docs/**/*.md'
62-
- '*.md'
61+
- "docs/**/*.md"
62+
- "*.md"
6363
schedule:
64-
- cron: '47 1 * * *'
64+
- cron: "47 1 * * *"
6565

6666
env:
6767
CONDA_ENV: firecrown_developer
@@ -72,12 +72,12 @@ jobs:
7272
name: Quick validation
7373
runs-on: ubuntu-latest
7474
steps:
75-
- uses: actions/checkout@v4
75+
- uses: actions/checkout@v5
7676
- name: Setting up Miniforge
7777
uses: conda-incubator/setup-miniconda@v3
7878
with:
7979
miniforge-version: latest
80-
python-version: '3.12'
80+
python-version: "3.12"
8181
show-channel-urls: true
8282
conda-remove-defaults: true
8383
environment-file: environment.yml
@@ -106,7 +106,7 @@ jobs:
106106
python-version: "3.12"
107107
coverage: true
108108
steps:
109-
- uses: actions/checkout@v4
109+
- uses: actions/checkout@v5
110110
- name: Setting up Miniforge
111111
uses: conda-incubator/setup-miniconda@v3
112112
with:
@@ -117,12 +117,22 @@ jobs:
117117
id: get-date
118118
run: echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_OUTPUT
119119
shell: bash
120+
- name: Compute environment.yml hash
121+
id: env-hash
122+
run: |
123+
if command -v sha256sum &>/dev/null 2>&1; then
124+
h=$(sha256sum environment.yml | cut -d' ' -f1)
125+
else
126+
h=$(shasum -a 256 environment.yml | cut -d' ' -f1)
127+
fi
128+
echo "env_hash=${h}" >> $GITHUB_OUTPUT
129+
shell: bash
120130
- name: Cache Conda env
121131
uses: actions/cache/restore@v4
122132
id: cache
123133
with:
124134
path: ${{ env.CONDA }}/envs
125-
key: conda-${{ runner.os }}-${{ runner.arch }}-py${{ matrix.python-version }}-${{ steps.get-date.outputs.today }}-${{ hashFiles('environment.yml') }}-v${{ env.CACHE_VERSION }}
135+
key: conda-${{ runner.os }}-${{ runner.arch }}-py${{ matrix.python-version }}-${{ steps.get-date.outputs.today }}-${{ steps.env-hash.outputs.env_hash }}-v${{ env.CACHE_VERSION }}
126136
- name: Update environment
127137
if: steps.cache.outputs.cache-hit != 'true'
128138
run: |
@@ -181,9 +191,9 @@ jobs:
181191
# All other jobs: full test suite including slow tests
182192
python -m pytest -vv --runslow -n auto
183193
fi
184-
- name: Running integration tests
194+
- name: Running example tests
185195
shell: bash -l {0}
186-
run: python -m pytest -vv -s --integration tests/integration
196+
run: python -m pytest -vv -s --example -m example tests/example
187197
- name: Upload coverage reports to Codecov
188198
if: ${{ matrix.coverage == true }}
189199
uses: codecov/codecov-action@v5
@@ -204,7 +214,7 @@ jobs:
204214
name: External dependencies and documentation
205215
runs-on: macos-latest
206216
steps:
207-
- uses: actions/checkout@v4
217+
- uses: actions/checkout@v5
208218
- name: Setting up Miniforge
209219
uses: conda-incubator/setup-miniconda@v3
210220
with:
@@ -215,12 +225,22 @@ jobs:
215225
id: get-date
216226
run: echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_OUTPUT
217227
shell: bash
228+
- name: Compute environment.yml hash
229+
id: env-hash
230+
run: |
231+
if command -v sha256sum &>/dev/null 2>&1; then
232+
h=$(sha256sum environment.yml | cut -d' ' -f1)
233+
else
234+
h=$(shasum -a 256 environment.yml | cut -d' ' -f1)
235+
fi
236+
echo "env_hash=${h}" >> $GITHUB_OUTPUT
237+
shell: bash
218238
- name: Cache Conda env
219239
uses: actions/cache/restore@v4
220240
id: cache
221241
with:
222242
path: ${{ env.CONDA }}/envs
223-
key: conda-${{ runner.os }}-${{ runner.arch }}-py3.13-${{ steps.get-date.outputs.today }}-${{ hashFiles('environment.yml') }}-v${{ env.CACHE_VERSION }}
243+
key: conda-${{ runner.os }}-${{ runner.arch }}-py3.13-${{ steps.get-date.outputs.today }}-${{ steps.env-hash.outputs.env_hash }}-v${{ env.CACHE_VERSION }}
224244
- name: Update environment
225245
if: steps.cache.outputs.cache-hit != 'true'
226246
run: |
@@ -257,17 +277,17 @@ jobs:
257277
pip install --no-deps -e .
258278
conda list
259279
- name: Cloning Smokescreen
260-
uses: actions/checkout@v4
280+
uses: actions/checkout@v5
261281
with:
262-
repository: 'lsstdesc/smokescreen'
263-
path: 'smokescreen'
264-
ref: 'v1.5.0'
282+
repository: "marcpaterno/smokescreen"
283+
path: "smokescreen"
284+
ref: "adjust-to-firecrown-pr-586"
265285
- name: Cloning Augur
266-
uses: actions/checkout@v4
286+
uses: actions/checkout@v5
267287
with:
268-
repository: 'lsstdesc/augur'
269-
path: 'augur'
270-
ref: '1.1.2'
288+
repository: "lsstdesc/augur"
289+
path: "augur"
290+
ref: "b59cfaf3dec90aa606a4add453a5a77e0c8ea942"
271291
- name: Build tutorials and documentation and check links
272292
shell: bash -l {0}
273293
run: |

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,5 @@ tutorial/theoretical_predictions_tutorial.html
167167
/.luarc.json
168168
*.Rproj
169169
coverage.json
170+
171+
**/*.quarto_ipynb

0 commit comments

Comments
 (0)