diff options
author | Raphael <mail@raphaelkabo.com> | 2023-05-12 23:44:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-12 23:44:37 +0100 |
commit | ffc4241e46aa5204d02a64c279ea58e01f1177ae (patch) | |
tree | 9814a56b05c5944d03559f4946f3cc2c4d75bb1f | |
parent | 67cf89fd0cfdf56c7e6d6d9bdf93d95d679ce2a1 (diff) | |
parent | 090a44df57cec84e460462f0ae2db7fb4f87a7e9 (diff) |
Merge pull request #96 from lowercasename/github-actions
Add CI workflow
-rw-r--r-- | .github/workflows/ci.yaml | 36 | ||||
-rw-r--r-- | package.json | 3 | ||||
-rwxr-xr-x | scripts/docker-test.sh (renamed from test.sh) | 5 |
3 files changed, 43 insertions, 1 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..882c2c9 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,36 @@ +name: Build test +on: + pull_request: + workflow_dispatch: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: pnpm/action-setup@v2 + with: + version: 8 + - uses: actions/setup-node@v3 + with: + node-version-file: ".nvmrc" + cache: "pnpm" + cache-dependency-path: "pnpm-lock.yaml" + - name: Install dependencies + run: pnpm install + - name: Set up config files + run: | + cp src/config/api-example.js src/config/api.js + cp src/config/database-example.js src/config/database.js + cp src/config/domain-example.js src/config/domain.js + - name: Build + run: pnpm build + continue-on-error: true + - name: Start and test + run: | + pnpm start & + sleep 5 + curl -sSf http://localhost:3000 diff --git a/package.json b/package.json index d765c0e..a00a53a 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "build": "tsc", "start": "node dist/start.js", - "dev": "nodemon -e ts,js --watch src --exec \"pnpm run build ; pnpm run start\"" + "dev": "nodemon -e ts,js --watch src --exec \"pnpm run build ; pnpm run start\"", + "test": "./test.sh" }, "engines": { "node": ">=16.16.0" diff --git a/test.sh b/scripts/docker-test.sh index 6626437..1cba254 100755 --- a/test.sh +++ b/scripts/docker-test.sh @@ -1,5 +1,10 @@ #!/usr/bin/env bash +# A Docker-based test script. It builds the Docker image, starts the container, +# and then waits for the server to be ready. Once the server is ready, it +# makes a request to the server and then kills the container. A 200 response +# code is expected. + set -eux -o pipefail cleanup() { |