66 branches :
77 - main
88
9- env :
10- DEFAULT_ELIXIR : 1.15.8-otp-25
11- DEFAULT_OTP : 25.3.2.4
12-
139permissions :
1410 contents : read
1511
@@ -30,21 +26,19 @@ jobs:
3026 - expert_credo
3127 - forge
3228 steps :
33- # Step: Setup Elixir + Erlang image as the base
34- - uses : extractions/setup-just@f8a3cce218d9f83db3a2ecd90e41ac3de6cdfd9b # v3.1.0
35- - uses : erlef/setup-beam@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
36- with :
37- otp-version : ${{ env.DEFAULT_OTP }}
38- elixir-version : ${{ env.DEFAULT_ELIXIR }}
39- version-type : " strict"
40-
41- # Step: Check out the code.
4229 - name : Checkout code
4330 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4431 with :
4532 persist-credentials : false
4633
47- # Step: Define how to cache deps. Restores existing cache if present.
34+ - uses : extractions/setup-just@f8a3cce218d9f83db3a2ecd90e41ac3de6cdfd9b # v3.1.0
35+ - name : Set up Elixir
36+ id : setup-beam
37+ uses : erlef/setup-beam@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
38+ with :
39+ version-file : " .tool-versions"
40+ version-type : " strict"
41+
4842 - name : Cache deps
4943 id : cache-deps
5044 uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
5347 apps/${{ matrix.project }}/deps
5448 apps/${{ matrix.project }}/_build
5549
56- key : ${{ runner.os }}-mix-${{ matrix.project }}-${{ env.DEFAULT_ELIXIR }}-${{ env.DEFAULT_OTP }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
50+ key : ${{ runner.os }}-mix-${{ matrix.project }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
5751 restore-keys : |
58- ${{ runner.os }}-mix-${{ matrix.project }}-${{ env.DEFAULT_ELIXIR }}-${{ env.DEFAULT_OTP }}-
52+ ${{ runner.os }}-mix-${{ matrix.project }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-
5953
6054 - name : Deps
6155 env :
@@ -88,21 +82,19 @@ jobs:
8882 - expert_credo
8983 - forge
9084 steps :
85+ - name : Checkout code
86+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
87+ with :
88+ persist-credentials : false
89+
9190 - uses : extractions/setup-just@f8a3cce218d9f83db3a2ecd90e41ac3de6cdfd9b # v3.1.0
9291 - name : Set up Elixir
92+ id : setup-beam
9393 uses : erlef/setup-beam@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
9494 with :
95- otp-version : ${{ env.DEFAULT_OTP }}
96- elixir-version : ${{ env.DEFAULT_ELIXIR }}
95+ version-file : " .tool-versions"
9796 version-type : " strict"
9897
99- # Step: Check out the code.
100- - name : Checkout code
101- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
102- with :
103- persist-credentials : false
104-
105- # Step: Define how to cache deps. Restores existing cache if present.
10698 - name : Cache deps
10799 id : cache-deps
108100 uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
@@ -111,19 +103,18 @@ jobs:
111103 apps/${{ matrix.project }}/deps
112104 apps/${{ matrix.project }}/_build
113105
114- key : ${{ runner.os }}-mix-${{ matrix.project }}-${{ env.DEFAULT_ELIXIR }}-${{ env.DEFAULT_OTP }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
106+ key : ${{ runner.os }}-mix-${{ matrix.project }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
115107 restore-keys : |
116- ${{ runner.os }}-mix-${{ matrix.project }}-${{ env.DEFAULT_ELIXIR }}-${{ env.DEFAULT_OTP }}-
108+ ${{ runner.os }}-mix-${{ matrix.project }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ steps.setup-beam.outputs.otp-version }}-
117109
118- # Step: Create dialyzer .plt files if they're not present
119110 - name : Cache dialyzer plt files
120111 id : cache-plt
121112 uses : actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
122113 with :
123- key : expert-plts-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
114+ key : expert-plts-${{ steps.setup-beam.outputs.otp-version }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
124115 restore-keys : |
125- expert-plts-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}-
126- expert-plts-${{ env.DEFAULT_OTP }}-${{ env.DEFAULT_ELIXIR }}-
116+ expert-plts-${{ steps.setup-beam.outputs.otp-version }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}-
117+ expert-plts-${{ steps.setup-beam.outputs.otp-version }}-${{ steps.setup-beam.outputs.elixir-version }}-
127118 path : " priv/plts"
128119
129120 - name : Deps
@@ -243,9 +234,9 @@ jobs:
243234 apps/${{ matrix.project }}/deps
244235 apps/${{ matrix.project }}/_build
245236
246- key : ${{ runner.os }}-mix-${{ matrix.project }}-${{ env.DEFAULT_ELIXIR }}-${{ env.DEFAULT_OTP }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
237+ key : ${{ runner.os }}-mix-${{ matrix.project }}-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles(format('apps/{0}/mix.lock', matrix.project)) }}
247238 restore-keys : |
248- ${{ runner.os }}-mix-${{ matrix.project }}-${{ env.DEFAULT_ELIXIR }}-${{ env.DEFAULT_OTP }}-
239+ ${{ runner.os }}-mix-${{ matrix.project }}-${{ matrix.elixir }}-${{ matrix.otp }}-
249240
250241 - name : Deps
251242 env :
0 commit comments