Run tests in GitHub Action

pull/256/head
Candid Dauth 2024-01-22 04:40:13 +01:00
rodzic fad68137a1
commit dc3973f0c0
13 zmienionych plików z 155 dodań i 23 usunięć

Wyświetl plik

@ -5,6 +5,9 @@ on:
branches:
- 'vue3'
env:
TAG: facilmap/facilmap:vue3
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
@ -13,23 +16,47 @@ jobs:
-
name: Checkout
uses: actions/checkout@v4
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push (FacilMap)
id: docker_build_facilmap
name: Build docker image
uses: docker/build-push-action@v5
with:
push: true
context: .
tags: facilmap/facilmap:vue3
load: true
tags: |
${{env.TAG}}
facilmap-ci
-
name: Start integration test components
uses: isbang/compose-action@v1.5.1
with:
compose-file: ./integration-tests/docker-compose.yml
-
name: Run integration tests
run: >-
docker run --rm -u root --add-host host.docker.internal:host-gateway facilmap-ci sh -c "
yarn workspaces focus facilmap-integration-tests &&
FACILMAP_URL=http://host.docker.internal:8080 yarn workspace facilmap-integration-tests run integration-tests &&
FACILMAP_URL=http://host.docker.internal:8081 yarn workspace facilmap-integration-tests run integration-tests
"
-
name: Push docker image
run: docker push "$TAG"

Wyświetl plik

@ -13,7 +13,13 @@ WORKDIR /opt/facilmap
COPY ./ ./
RUN yarn install && yarn run build:frontend:app && yarn run build:server && yarn workspaces focus -A --production
RUN yarn install && \
yarn check-types && \
yarn lint && \
yarn test && \
yarn run build:frontend:app && \
yarn run build:server && \
yarn workspaces focus -A --production
RUN mkdir -p "$CACHE_DIR" && chown -R facilmap:facilmap "$CACHE_DIR"

Wyświetl plik

@ -40,7 +40,7 @@
"@types/geojson": "^7946.0.13",
"rimraf": "^5.0.5",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite": "^5.0.12",
"vite-plugin-dts": "^3.7.0"
}
}

Wyświetl plik

@ -69,7 +69,7 @@
"pluralize": "^8.0.0",
"popper-max-size-modifier": "^0.2.0",
"tablesorter": "^2.31.3",
"vite": "^5.0.10",
"vite": "^5.0.12",
"vite-plugin-css-injected-by-js": "^3.3.1",
"vite-plugin-dts": "^3.7.0",
"vue": "^3.4.0",

Wyświetl plik

@ -0,0 +1,42 @@
services:
facilmap-mysql:
image: facilmap-ci
links:
- mysql
ports:
- "8080:8080"
environment:
DB_TYPE: mysql
DB_HOST: mysql
DB_NAME: facilmap
DB_USER: facilmap
DB_PASSWORD: facilmap
mysql:
image: mysql:5.7
environment:
MYSQL_DATABASE: facilmap
MYSQL_USER: facilmap
MYSQL_PASSWORD: facilmap
MYSQL_RANDOM_ROOT_PASSWORD: "true"
facilmap-postgres:
image: facilmap-ci
links:
- postgres
ports:
- "8081:8080"
environment:
DB_TYPE: postgres
DB_HOST: postgres
DB_NAME: facilmap
DB_USER: facilmap
DB_PASSWORD: facilmap
postgres:
image: postgis/postgis:16-3.4
environment:
POSTGRES_USER: facilmap
POSTGRES_PASSWORD: facilmap
POSTGRES_DB: facilmap

Wyświetl plik

@ -28,6 +28,9 @@
},
"devDependencies": {
"@types/lodash-es": "^4.17.12",
"typescript": "^5.3.3"
"typescript": "^5.3.3",
"vite": "^5.0.12",
"vite-plugin-dts": "^3.7.1",
"vite-tsconfig-paths": "^4.3.1"
}
}

Wyświetl plik

@ -71,7 +71,7 @@
"svgo": "^3.1.0",
"tsx": "^4.7.0",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite": "^5.0.12",
"vite-plugin-css-injected-by-js": "^3.3.1",
"vite-plugin-dts": "^3.7.0",
"vite-tsconfig-paths": "^4.2.3",

Wyświetl plik

@ -1,4 +1,5 @@
#!/usr/bin/env node
/* eslint-disable */
import { startServer } from "../dist/facilmap-server.mjs";
await startServer();

Wyświetl plik

@ -83,7 +83,7 @@
"rimraf": "^5.0.5",
"tsx": "^4.7.0",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite": "^5.0.12",
"vite-node": "^1.1.0",
"vite-plugin-dts": "^3.7.0",
"vite-tsconfig-paths": "^4.2.3",

Wyświetl plik

@ -31,7 +31,7 @@ export function streamPromiseToStream<T>(streamPromise: Promise<ReadableStream<T
const transform = new TransformStream({
async start() {
const stream = await streamPromise;
stream.pipeTo(transform.writable);
stream.pipeTo(transform.writable).catch(() => {}); // Catch error to avoid unhandled rejection, see https://github.com/nodejs/node/issues/50707
}
});
return transform.readable;

Wyświetl plik

@ -34,7 +34,7 @@
"devDependencies": {
"rimraf": "^5.0.5",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite": "^5.0.12",
"vite-plugin-dts": "^3.7.0"
}
}

Wyświetl plik

@ -52,7 +52,7 @@
"@types/linkifyjs": "^2.1.7",
"rimraf": "^5.0.5",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite": "^5.0.12",
"vite-plugin-dts": "^3.7.0",
"vitest": "^1.1.0"
}

Wyświetl plik

@ -3423,7 +3423,7 @@ __metadata:
rimraf: ^5.0.5
socket.io-client: ^4.7.2
typescript: ^5.3.3
vite: ^5.0.10
vite: ^5.0.12
vite-plugin-dts: ^3.7.0
languageName: unknown
linkType: soft
@ -3476,7 +3476,7 @@ __metadata:
tablesorter: ^2.31.3
tsx: ^4.7.0
typescript: ^5.3.3
vite: ^5.0.10
vite: ^5.0.12
vite-plugin-css-injected-by-js: ^3.3.1
vite-plugin-dts: ^3.7.0
vite-tsconfig-paths: ^4.2.3
@ -3498,6 +3498,9 @@ __metadata:
lodash-es: ^4.17.21
socket.io-client: ^4.7.2
typescript: ^5.3.3
vite: ^5.0.12
vite-plugin-dts: ^3.7.1
vite-tsconfig-paths: ^4.3.1
vitest: ^1.1.1
languageName: unknown
linkType: soft
@ -3533,7 +3536,7 @@ __metadata:
svgo: ^3.1.0
tsx: ^4.7.0
typescript: ^5.3.3
vite: ^5.0.10
vite: ^5.0.12
vite-plugin-css-injected-by-js: ^3.3.1
vite-plugin-dts: ^3.7.0
vite-tsconfig-paths: ^4.2.3
@ -3602,7 +3605,7 @@ __metadata:
tsx: ^4.7.0
typescript: ^5.3.3
unzipper: ^0.10.14
vite: ^5.0.10
vite: ^5.0.12
vite-node: ^1.1.0
vite-plugin-dts: ^3.7.0
vite-tsconfig-paths: ^4.2.3
@ -3617,7 +3620,7 @@ __metadata:
"@types/geojson": ^7946.0.13
rimraf: ^5.0.5
typescript: ^5.3.3
vite: ^5.0.10
vite: ^5.0.12
vite-plugin-dts: ^3.7.0
zod: ^3.22.4
languageName: unknown
@ -3644,7 +3647,7 @@ __metadata:
marked: ^11.1.0
rimraf: ^5.0.5
typescript: ^5.3.3
vite: ^5.0.10
vite: ^5.0.12
vite-plugin-dts: ^3.7.0
vitest: ^1.1.0
languageName: unknown
@ -7400,6 +7403,20 @@ __metadata:
languageName: node
linkType: hard
"tsconfck@npm:^3.0.1":
version: 3.0.1
resolution: "tsconfck@npm:3.0.1"
peerDependencies:
typescript: ^5.0.0
peerDependenciesMeta:
typescript:
optional: true
bin:
tsconfck: bin/tsconfck.js
checksum: 8ce536b2888c871531bc629ce11b13d22cdaa8f6539e5e16cd58ea0b6a4a9561dd83065db1c2d3c0bb03942cd7fa48c56f8e034e5298bb8c30be4578359ba57d
languageName: node
linkType: hard
"tsconfig-paths@npm:^3.15.0":
version: 3.15.0
resolution: "tsconfig-paths@npm:3.15.0"
@ -7740,6 +7757,26 @@ __metadata:
languageName: node
linkType: hard
"vite-plugin-dts@npm:^3.7.1":
version: 3.7.1
resolution: "vite-plugin-dts@npm:3.7.1"
dependencies:
"@microsoft/api-extractor": 7.39.0
"@rollup/pluginutils": ^5.1.0
"@vue/language-core": ^1.8.26
debug: ^4.3.4
kolorist: ^1.8.0
vue-tsc: ^1.8.26
peerDependencies:
typescript: "*"
vite: "*"
peerDependenciesMeta:
vite:
optional: true
checksum: bd6cd45d0b5efa1b3a1eea003f4c67c9811bfc222d7616f6def1cd5284a175733340ea3646234df4c55f5929dfcb8b97c3c1e5c9b73bbad4622f9a2a1042d7e7
languageName: node
linkType: hard
"vite-tsconfig-paths@npm:^4.2.3":
version: 4.2.3
resolution: "vite-tsconfig-paths@npm:4.2.3"
@ -7756,9 +7793,25 @@ __metadata:
languageName: node
linkType: hard
"vite@npm:^5.0.0, vite@npm:^5.0.10":
version: 5.0.10
resolution: "vite@npm:5.0.10"
"vite-tsconfig-paths@npm:^4.3.1":
version: 4.3.1
resolution: "vite-tsconfig-paths@npm:4.3.1"
dependencies:
debug: ^4.1.1
globrex: ^0.1.2
tsconfck: ^3.0.1
peerDependencies:
vite: "*"
peerDependenciesMeta:
vite:
optional: true
checksum: 2934d5d674e0b6ab8d435d4262ff30143c30512072d71ece5a3859a70a188cbdbcc2b0370277049ab551f7bbb6ffb2be94a0bf30154e5c58d38b32adce9740bd
languageName: node
linkType: hard
"vite@npm:^5.0.0, vite@npm:^5.0.12":
version: 5.0.12
resolution: "vite@npm:5.0.12"
dependencies:
esbuild: ^0.19.3
fsevents: ~2.3.3
@ -7792,7 +7845,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
checksum: a1c96be1dc8bafb981c0874813a6b783ee9c4cd235188d7dc746133972d8992fe85111b7402365fee698ffcb626cd31b39bf2f2523140e50b07b81ce3c0139d1
checksum: b97b6f1c204d9091d0973626827a6e9d8e8b1959ebd0877b6f76e7068e1e7adf9ecd3b1cc382cbab9d421e3eeca5e1a95f27f9c1734439b229f5a58ef2052fa4
languageName: node
linkType: hard