Skip to content

Commit 84cfab5

Browse files
committed
Update 6th edition
1 parent cdb2240 commit 84cfab5

14 files changed

Lines changed: 122 additions & 72 deletions

File tree

.github/workflows/cd-docker.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ jobs:
1212
# runs-on: ubuntu-latest
1313

1414
# steps:
15-
# - uses: actions/checkout@v4
16-
# - uses: actions/setup-node@v4
15+
# - uses: actions/checkout@v6
16+
# - uses: actions/setup-node@v6
1717
# with:
1818
# node-version: 16
1919
# cache: 'npm'
@@ -23,7 +23,7 @@ jobs:
2323
# run: |
2424
# npm ci
2525
# npm run build --if-present
26-
# - uses: actions/upload-artifact@v4
26+
# - uses: actions/upload-artifact@v6
2727
# with:
2828
# name: build-code
2929
# path: hangman-api/dist/
@@ -33,8 +33,8 @@ jobs:
3333
needs: build
3434

3535
steps:
36-
- uses: actions/checkout@v4
37-
- uses: actions/download-artifact@v4
36+
- uses: actions/checkout@v6
37+
- uses: actions/download-artifact@v7
3838
with:
3939
name: build-code
4040
path: hangman-api/dist/

.github/workflows/cd-using-docker-actions.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ jobs:
88
runs-on: ubuntu-latest
99

1010
steps:
11-
- uses: actions/checkout@v4
12-
- uses: actions/setup-node@v4
11+
- uses: actions/checkout@v6
12+
- uses: actions/setup-node@v6
1313
with:
1414
node-version: 16
1515
cache: 'npm'
@@ -19,7 +19,7 @@ jobs:
1919
run: |
2020
npm ci
2121
npm run build --if-present
22-
- uses: actions/upload-artifact@v4
22+
- uses: actions/upload-artifact@v6
2323
with:
2424
name: build-code
2525
path: hangman-api/dist/
@@ -29,8 +29,8 @@ jobs:
2929
# needs: build
3030

3131
# steps:
32-
# - uses: actions/checkout@v4
33-
# - uses: actions/download-artifact@v4
32+
# - uses: actions/checkout@v6
33+
# - uses: actions/download-artifact@v7
3434
# with:
3535
# name: build-code
3636
# path: hangman-api/dist/
@@ -52,9 +52,9 @@ jobs:
5252

5353
steps:
5454
- name: Checkout repo
55-
uses: actions/checkout@v4
55+
uses: actions/checkout@v6
5656
- name: Download dist folder as artifact
57-
uses: actions/download-artifact@v4
57+
uses: actions/download-artifact@v7
5858
- name: Docker Hub login
5959
uses: docker/login-action@v3
6060
with:
@@ -64,7 +64,7 @@ jobs:
6464
- name: Set up Docker Buildx
6565
uses: docker/setup-buildx-action@v3
6666
- name: Build and push Docker Image
67-
uses: docker/build-push-action@v5
67+
uses: docker/build-push-action@v6
6868
with:
6969
context: ./hangman-api
7070
push: true

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
runs-on: ubuntu-latest
1616

1717
steps:
18-
- uses: actions/checkout@v4
19-
- uses: actions/setup-node@v4
18+
- uses: actions/checkout@v6
19+
- uses: actions/setup-node@v6
2020
with:
2121
node-version: 16
2222
cache: "npm"
@@ -32,8 +32,8 @@ jobs:
3232
needs: build
3333

3434
steps:
35-
- uses: actions/checkout@v4
36-
- uses: actions/setup-node@v4
35+
- uses: actions/checkout@v6
36+
- uses: actions/setup-node@v6
3737
with:
3838
node-version: 16
3939
- name: test
@@ -63,8 +63,8 @@ jobs:
6363
- 5432:5432
6464

6565
steps:
66-
- uses: actions/checkout@v4
67-
- uses: actions/setup-node@v4
66+
- uses: actions/checkout@v6
67+
- uses: actions/setup-node@v6
6868
with:
6969
node-version: 16
7070
# - name: Create database relationships

.github/workflows/reusable-node-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
runs-on: ubuntu-latest
1616

1717
steps:
18-
- uses: actions/checkout@v4
19-
- uses: actions/setup-node@v4
18+
- uses: actions/checkout@v6
19+
- uses: actions/setup-node@v6
2020
with:
2121
node-version: ${{ inputs.node-version }}
2222
cache: "npm"
@@ -26,7 +26,7 @@ jobs:
2626
run: |
2727
npm ci
2828
npm run build --if-present
29-
- uses: actions/upload-artifact@v4
29+
- uses: actions/upload-artifact@v6
3030
with:
3131
name: build-code
3232
path: ${{ inputs.working-directory }}/dist/

01-setup-ci/readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282

8383
steps:
8484
+ - name: Checkout # This field is optional
85-
+ - uses: actions/checkout@v4
85+
+ - uses: actions/checkout@v6
8686
- name: inspect
8787
run: |
8888
ls -al
@@ -92,7 +92,7 @@ jobs:
9292

9393
```
9494

95-
Recall that on job steps we can use an action or run a command. Here we're using an action `actions/checkout@v4` that needs no further configuration.
95+
Recall that on job steps we can use an action or run a command. Here we're using an action `actions/checkout@v6` that needs no further configuration.
9696

9797
```bash
9898
git add .
@@ -140,7 +140,7 @@ jobs:
140140
- runs-on: ubuntu-latest
141141

142142
- steps:
143-
- - uses: actions/checkout@v4
143+
- - uses: actions/checkout@v6
144144
- - name: inspect
145145
- run: |
146146
- ls -al
@@ -164,7 +164,7 @@ jobs:
164164
runs-on: ubuntu-latest
165165

166166
steps:
167-
- uses: actions/checkout@v4
167+
- uses: actions/checkout@v6
168168
- name: build and test
169169
working-directory: ./hangman-api
170170
run: |
@@ -201,7 +201,7 @@ jobs:
201201
runs-on: ubuntu-latest
202202

203203
steps:
204-
- uses: actions/checkout@v4
204+
- uses: actions/checkout@v6
205205
- name: build and test
206206
working-directory: ./hangman-api
207207
run: |

02-multiple-target-environments/readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
node-version: [16, 17, 18]
3939
# diff #
4040
steps:
41-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@v6
4242
- name: build and test
4343
working-directory: ./hangman-api
4444
run: |
@@ -60,10 +60,10 @@ jobs:
6060
node-version: [16, 17, 18]
6161

6262
steps:
63-
- uses: actions/checkout@v4
63+
- uses: actions/checkout@v6
6464
# diff #
6565
- name: Setup Node.js environment
66-
uses: actions/setup-node@v4
66+
uses: actions/setup-node@v6
6767
with:
6868
node-version: ${{ matrix.node-version }}
6969
# diff #
@@ -132,9 +132,9 @@ jobs:
132132
+ os: [ubuntu-20.04, ubuntu-22.04]
133133
+ runs-on: ${{ matrix.os }}
134134
steps:
135-
- uses: actions/checkout@v4
135+
- uses: actions/checkout@v6
136136
- name: Setup Node.js environment
137-
uses: actions/setup-node@v4
137+
uses: actions/setup-node@v6
138138
with:
139139
node-version: ${{ matrix.node-version }}
140140
- name: build and test

03-running-multiple-jobs/readme.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ jobs:
4444
- runs-on: ${{ matrix.os }}
4545

4646
steps:
47-
- uses: actions/checkout@v4
47+
- uses: actions/checkout@v6
4848
- - name: Setup Node.js environment
49-
- uses: actions/setup-node@v4
49+
- uses: actions/setup-node@v6
5050
- with:
5151
- node-version: ${{ matrix.node-version }}
5252
- name: build and test
@@ -68,7 +68,7 @@ jobs:
6868
runs-on: ubuntu-latest
6969

7070
steps:
71-
- uses: actions/checkout@v4
71+
- uses: actions/checkout@v6
7272
- - name: build and test
7373
+ - name: build
7474
working-directory: ./hangman-api
@@ -98,7 +98,7 @@ jobs:
9898
runs-on: ubuntu-latest
9999

100100
steps:
101-
- uses: actions/checkout@v4
101+
- uses: actions/checkout@v6
102102
- name: build
103103
working-directory: ./hangman-api
104104
run: |
@@ -109,7 +109,7 @@ jobs:
109109
runs-on: ubuntu-latest
110110

111111
steps:
112-
- uses: actions/checkout@v4
112+
- uses: actions/checkout@v6
113113
- name: test
114114
working-directory: ./hangman-api
115115
run: |
@@ -188,7 +188,7 @@ jobs:
188188
runs-on: ubuntu-latest
189189

190190
steps:
191-
- uses: actions/checkout@v4
191+
- uses: actions/checkout@v6
192192
- name: build
193193
working-directory: ./hangman-api
194194
run: |
@@ -199,7 +199,7 @@ jobs:
199199
runs-on: ubuntu-latest
200200
+ needs: build # If it depends on more than one, use an array
201201
steps:
202-
- uses: actions/checkout@v4
202+
- uses: actions/checkout@v6
203203
- name: test
204204
working-directory: ./hangman-api
205205
run: |

04-working-with-build-artifacts/readme.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ jobs:
4040
runs-on: ubuntu-latest
4141

4242
steps:
43-
- uses: actions/checkout@v4
43+
- uses: actions/checkout@v6
4444
- name: build
4545
working-directory: ./hangman-api
4646
run: |
4747
npm ci
4848
npm run build --if-present
4949
# diff #
50-
- uses: actions/upload-artifact@v4
50+
- uses: actions/upload-artifact@v6
5151
with:
5252
name: dependencies
5353
path: hangman-api/node_modules/
@@ -67,13 +67,13 @@ jobs:
6767
runs-on: ubuntu-latest
6868

6969
steps:
70-
- uses: actions/checkout@v4
70+
- uses: actions/checkout@v6
7171
- name: build
7272
working-directory: ./hangman-api
7373
run: |
7474
npm ci
7575
npm run build --if-present
76-
- uses: actions/upload-artifact@v4
76+
- uses: actions/upload-artifact@v6
7777
with:
7878
name: dependencies
7979
path: hangman-api/node_modules/
@@ -84,9 +84,9 @@ jobs:
8484
needs: build
8585

8686
steps:
87-
- uses: actions/checkout@v4
87+
- uses: actions/checkout@v6
8888
# diff
89-
- uses: actions/download-artifact@v4
89+
- uses: actions/download-artifact@v7
9090
with:
9191
name: dependencies
9292
path: hangman-api/node_modules
@@ -123,8 +123,8 @@ jobs:
123123
runs-on: ubuntu-latest
124124

125125
steps:
126-
- uses: actions/checkout@v4
127-
+ - uses: actions/setup-node@v4
126+
- uses: actions/checkout@v6
127+
+ - uses: actions/setup-node@v6
128128
+ with:
129129
+ node-version: 16
130130
+ cache: 'npm'
@@ -134,7 +134,7 @@ jobs:
134134
run: |
135135
npm ci
136136
npm run build --if-present
137-
- - uses: actions/upload-artifact@v4
137+
- - uses: actions/upload-artifact@v6
138138
- with:
139139
- name: dependencies
140140
- path: hangman-api/node_modules/
@@ -145,13 +145,13 @@ jobs:
145145
needs: build
146146

147147
steps:
148-
- uses: actions/checkout@v4
149-
- - uses: actions/download-artifact@v4
148+
- uses: actions/checkout@v6
149+
- - uses: actions/download-artifact@v7
150150
- with:
151151
- name: dependencies
152152
- path: hangman-api/node_modules
153153
- include-hidden-files: true
154-
+ - uses: actions/setup-node@v4
154+
+ - uses: actions/setup-node@v6
155155
+ with:
156156
+ node-version: 16
157157
- name: test

05-integration-tests/readme.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,3 +254,45 @@ Ran all test suites.
254254
```
255255

256256
> Exercise: Update CI pipeline to run test integration using docker compose.
257+
258+
```yaml
259+
test-integration:
260+
runs-on: ubuntu-latest
261+
needs: test
262+
263+
services:
264+
postgres:
265+
image: postgres:14-alpine
266+
env:
267+
POSTGRES_USER: postgres
268+
POSTGRES_PASSWORD: postgres
269+
POSTGRES_DB: hangman_db
270+
options: >-
271+
--health-cmd pg_isready
272+
--health-interval 10s
273+
--health-timeout 5s
274+
--health-retries 5
275+
ports:
276+
- 5432:5432
277+
steps:
278+
- name: Checkout
279+
uses: actions/checkout@v6
280+
- name: Setup Node version
281+
uses: actions/setup-node@v6
282+
with:
283+
node-version: 20
284+
- name: Running integration test
285+
working-directory: ./hangman-api
286+
env:
287+
DATABASE_PORT: 5432
288+
DATABASE_HOST: localhost
289+
DATABASE_NAME: hangman_db
290+
DATABASE_USER: postgres
291+
DATABASE_PASSWORD: postgres
292+
DATABASE_POOL_MIN: 2
293+
DATABASE_POOL_MAX: 10
294+
run: |
295+
npm ci
296+
npx knex migrate:latest --env development
297+
npm run test:integration
298+
```

0 commit comments

Comments
 (0)