44 workflow_call :
55 outputs :
66 date :
7- value : ${{ jobs.date.outputs.date }}
7+ value : ${{ jobs.variables.outputs.date }}
8+ runs-on :
9+ value : ${{ jobs.variables.outputs.runs-on }}
10+ python-version :
11+ value : ${{ jobs.variables.outputs.python-version }}
812 workflow_dispatch :
913 push :
1014 release :
@@ -19,21 +23,26 @@ defaults:
1923 shell : bash -leo pipefail {0}
2024
2125jobs :
22- date :
26+ variables :
2327 runs-on : ubuntu-latest
2428 steps :
25- - run : echo date="$(date +%Y.%m.%d)" >> $GITHUB_OUTPUT
26- id : date
29+ - id : runs-on
30+ run : echo 'runs-on=["ubuntu-latest", "macos-latest"]' >> $GITHUB_OUTPUT
31+ - id : python-version
32+ run : echo 'python-version=["3.12", "3.13", "3.14"]' >> $GITHUB_OUTPUT
33+ - id : date
34+ run : echo "date=$(date +%Y.%m.%d)" >> $GITHUB_OUTPUT
2735 outputs :
2836 date : ${{ steps.date.outputs.date }}
37+ runs-on : ${{ steps.runs-on.outputs.runs-on }}
38+ python-version : ${{ steps.python-version.outputs.python-version }}
2939 build :
30- needs : [ date ]
40+ needs : [ variables ]
3141 strategy :
3242 fail-fast : false
3343 matrix :
34- # the macOS 13 runner is on Intel hardware
35- runs-on : [ ubuntu-latest, macos-latest ]
36- python-version : [ '3.12', '3.13', '3.14' ]
44+ runs-on : ${{ fromJSON(needs.variables.outputs.runs-on) }}
45+ python-version : ${{ fromJSON(needs.variables.outputs.python-version) }}
3746 runs-on : ${{ matrix.runs-on }}
3847 name : build (Python ${{ matrix.python-version }}, ${{ matrix.runs-on }})
3948 steps :
@@ -47,11 +56,11 @@ jobs:
4756 create-args : >-
4857 python=${{ matrix.python-version }}
4958 cache-environment : true
50- cache-environment-key : environment-${{ needs.date .outputs.date }}
59+ cache-environment-key : environment-${{ matrix.python-version }}-${{ needs.variables .outputs.date }}
5160 init-shell : bash
5261 generate-run-shell : false
5362 post-cleanup : none
54- - run : echo "filename=stenv-${{ runner.os }}-${{ runner.arch }}-py${{ matrix.python-version }}-${{ needs.date .outputs.date }}.yaml" >> $GITHUB_OUTPUT
63+ - run : echo "filename=stenv-${{ runner.os }}-${{ runner.arch }}-py${{ matrix.python-version }}-${{ needs.variables .outputs.date }}.yaml" >> $GITHUB_OUTPUT
5564 id : output
5665 - run : |
5766 micromamba env export --no-build | grep -v "name:" | grep -v "prefix:" > ${{ steps.output.outputs.filename }}
0 commit comments