3737 id : list_examples
3838
3939 check_packages :
40- name : Check TS package at ${{ matrix.package_dir }}
40+ name : Build and typecheck ${{ matrix.package_dir }}
4141 needs : [list_ts_packages]
4242 runs-on : ubuntu-latest
4343 strategy :
5959 - run : pnpm run typecheck
6060
6161 build_and_test_packages :
62- name : Test TS packages against sync-service
62+ name : ' Test ${{ matrix.package_dir }} w/ sync-service'
6363 needs : [list_ts_packages]
6464 runs-on : ubuntu-latest
6565 # There is currently a buggy TS test that causes the job for typescript-client to get stuck
@@ -80,46 +80,51 @@ jobs:
8080 MIX_OS_DEPS_COMPILE_PARTITION_COUNT : 4
8181 steps :
8282 - uses : actions/checkout@v4
83+
8384 - uses : erlef/setup-beam@v1
8485 with :
8586 version-type : strict
8687 version-file : ' .tool-versions'
88+
8789 - uses : pnpm/action-setup@v4
90+
8891 - uses : actions/setup-node@v4
8992 with :
9093 node-version-file : ' .tool-versions'
9194 cache : pnpm
92- - run : pnpm install --frozen-lockfile
9395
94- - name : Cache dependencies
96+ - name : Install Node dependencies
97+ run : pnpm install --frozen-lockfile
98+
99+ - name : Cache sync-service dependencies
95100 uses : actions/cache@v4
96101 with :
97102 path : packages/sync-service/deps
98- key : " ${{ runner.os }}-sync-service-deps-${{ env.MIX_TARGET }}-${{ env. MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}"
103+ key : " ${{ runner.os }}-sync-service-deps-${{ env.MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}"
99104 restore-keys : |
100- ${{ runner.os }}-sync-service-deps-${{ env.MIX_TARGET }}-${{ env. MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}
101- ${{ runner.os }}-sync-service-deps-${{ env.MIX_TARGET }}-${{ env. MIX_ENV }}-
102- ${{ runner.os }}-sync-service-deps-
105+ ${{ runner.os }}-sync-service-deps-${{ env.MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}
106+ ${{ runner.os }}-sync-service-deps-${{ env.MIX_ENV }}
107+ ${{ runner.os }}-sync-service-deps
103108
104- - name : Cache compiled code
109+ - name : Cache sync-service compiled code
105110 uses : actions/cache@v4
106111 with :
107112 path : |
108113 packages/sync-service/_build/*/lib
109114 !packages/sync-service/_build/*/lib/electric
110- key : " ${{ runner.os }}-sync-service-build-${{ env.MIX_TARGET }}-${{ env. MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}"
115+ key : " ${{ runner.os }}-sync-service-build-${{ env.MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}"
111116 restore-keys : |
112- ${{ runner.os }}-sync-service-build-${{ env.MIX_TARGET }}-${{ env. MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}
113- ${{ runner.os }}-sync-service-build-${{ env.MIX_TARGET }}-${{ env. MIX_ENV }}-
114- ${{ runner.os }}-sync-service-build-
117+ ${{ runner.os }}-sync-service-build-${{ env.MIX_ENV }}-${{ hashFiles('packages/sync-service/mix.lock') }}
118+ ${{ runner.os }}-sync-service-build-${{ env.MIX_ENV }}
119+ ${{ runner.os }}-sync-service-build
115120
116- - name : Install dependencies
117- run : mix do deps.get + deps.compile
121+ - name : Install sync-service dependencies
118122 working-directory : packages/sync-service
123+ run : mix do deps.get + deps.compile
119124
120125 - name : Compile sync-service
121- run : mix compile
122126 working-directory : packages/sync-service
127+ run : mix compile
123128
124129 - uses : JarvusInnovations/background-action@v1
125130 name : Bootstrap System Under Test (SUT)
@@ -137,9 +142,12 @@ jobs:
137142 log-output : true
138143 log-output-if : failure
139144 working-directory : packages/sync-service
140- - name : build dependencies, if any
145+
146+ - name : Build Node dependencies, if any
141147 run : pnpm -r --filter "$(jq '.name' -r package.json)^..." build
142- - run : pnpm run coverage --run
148+
149+ - name : Run tests with coverage
150+ run : pnpm run coverage --run
143151
144152 - name : Upload coverage reports to CodeCov
145153 uses : codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d
@@ -159,7 +167,7 @@ jobs:
159167 files : ./junit/test-report.junit.xml
160168
161169 check_and_build_examples :
162- name : Check and build ${{ matrix.example_folder }} example
170+ name : Check and build ${{ matrix.example_folder }}
163171 needs : [list_examples, build_and_test_packages]
164172 runs-on : ubuntu-latest
165173 strategy :
0 commit comments