Skip to content

Commit 6bc4d8b

Browse files
chore: ensure coding as close as possible to prod
1 parent 6d32f22 commit 6bc4d8b

File tree

4 files changed

+19
-34
lines changed

4 files changed

+19
-34
lines changed

.github/CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ Execute `npm run commit` para ter um painel interativo que permite seguir o padr
174174
175175
### 💥 Dockerfile lint
176176

177-
É utilizado o linter [Hadolint - Haskell Dockerfile Linter](https://github.com/hadolint/hadolint) para garantir que os Dockerfile de [produção](../Dockerfile), [desenvolvimento, teste](../Dockerfile.dev) e de [teste de infra](../Dockerfile) seguem as melhores práticas em sua estrutura.
177+
É utilizado o linter [Hadolint - Haskell Dockerfile Linter](https://github.com/hadolint/hadolint) para garantir que os Dockerfile de [produção,desenvolvimento](../Dockerfile), [teste](../Dockerfile.test) e de [teste de infra](../Dockerfile) seguem as melhores práticas em sua estrutura.
178178

179179
---
180180

.github/workflows/common_ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ jobs:
7373
run: docker run --rm -i hadolint/hadolint < Dockerfile
7474
- name: Validate production Google Cloud dockerfile (Dockerfile.gcloud)
7575
run: docker run --rm -i hadolint/hadolint < Dockerfile.gcloud
76-
- name: Validate dev dockerfile (Dockerfile.dev)
77-
run: docker run --rm -i hadolint/hadolint < Dockerfile.dev
76+
- name: Validate dev dockerfile (Dockerfile.test)
77+
run: docker run --rm -i hadolint/hadolint < Dockerfile.test
7878
- name: Validate terratest dockerfile (Dockerfile.terratest)
7979
run: docker run --rm -i hadolint/hadolint < Dockerfile.terratest
8080

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
1-
FROM node:lts-alpine3.18@sha256:a02826c7340c37a29179152723190bcc3044f933c925f3c2d78abb20f794de3f as base
1+
FROM node:lts-alpine3.18@sha256:a02826c7340c37a29179152723190bcc3044f933c925f3c2d78abb20f794de3f
22

33
WORKDIR /app
44

5-
COPY package*.json ./
6-
7-
RUN npm ci
8-
9-
FROM base as test
10-
11-
ENV NODE_ENV=serverest-test
12-
135
# hadolint ignore=DL3018
146
RUN apk --no-cache add git ca-certificates wget bash \
157
&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
@@ -19,16 +11,10 @@ RUN apk --no-cache add git ca-certificates wget bash \
1911

2012
RUN git config --global --add safe.directory "*"
2113

22-
COPY . .
14+
ENV NODE_ENV=serverest-test
2315

24-
FROM base as dev
16+
COPY package*.json ./
2517

26-
ENV NODE_ENV=serverest-development
27-
ENV ENVIRONMENT='docker'
28-
ENV TERM=xterm-256color
18+
RUN npm ci
2919

3020
COPY . .
31-
32-
EXPOSE 3000
33-
34-
CMD [ "npm", "run", "dev" ]

docker-compose.yml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
version: '3.8'
22

33
services:
4-
base:
4+
test-base:
55
platform: linux/amd64
66
build:
77
context: .
8-
dockerfile: Dockerfile.dev
9-
target: test
8+
dockerfile: Dockerfile.test
109
volumes:
1110
- ./test:/app/test:ro
1211

1312
run-dev:
1413
build:
1514
context: .
16-
dockerfile: Dockerfile.dev
17-
target: dev
15+
dockerfile: Dockerfile
16+
entrypoint: npm run dev
1817
volumes:
1918
- .:/app:rw
2019
ports:
@@ -23,7 +22,7 @@ services:
2322
# All tests \/
2423

2524
test-contract:
26-
extends: base
25+
extends: test-base
2726
environment:
2827
- PACT_BROKER_TOKEN
2928
- PACT_URL
@@ -33,7 +32,7 @@ services:
3332
- ./.git:/app/.git:ro
3433

3534
test-unit:
36-
extends: base
35+
extends: test-base
3736
environment: # Datadog "CI Tests" variables
3837
- DD_CIVISIBILITY_AGENTLESS_ENABLED
3938
- DD_API_KEY
@@ -47,7 +46,7 @@ services:
4746
- ./coverage-unit:/app/coverage-unit:rw
4847

4948
test-integration:
50-
extends: base
49+
extends: test-base
5150
command: npm run test:integration
5251
volumes:
5352
- ./coverage-integration:/app/coverage-integration:rw
@@ -70,7 +69,7 @@ services:
7069
NODE_ENV: 'serverest-development'
7170

7271
test-e2e-localhost:
73-
extends: base
72+
extends: test-base
7473
command: npm run test:e2e
7574
environment:
7675
- TEST_TYPE=e2e-localhost
@@ -87,7 +86,7 @@ services:
8786
network_mode: 'service:run-app-e2e'
8887

8988
test-mutation:
90-
extends: base
89+
extends: test-base
9190
environment:
9291
- STRYKER_DASHBOARD_API_KEY
9392
- TEST_TYPE=mutation
@@ -96,7 +95,7 @@ services:
9695
- ./reports:/app/reports:rw
9796

9897
test-mutation-diff:
99-
extends: base
98+
extends: test-base
10099
environment:
101100
- STRYKER_DASHBOARD_API_KEY
102101
- TEST_TYPE=mutation
@@ -114,13 +113,13 @@ services:
114113
# Deploy test \/
115114

116115
test-e2e-staging:
117-
extends: base
116+
extends: test-base
118117
command: npm run test:e2e -- --retries 1 --slow 1000
119118
environment:
120119
TEST_TYPE: 'e2e-staging'
121120

122121
test-e2e-smoke-production:
123-
extends: base
122+
extends: test-base
124123
command: npm run test:smoke -- --retries 1 --slow 1000
125124
environment:
126125
TEST_TYPE: 'e2e-production'

0 commit comments

Comments
 (0)