mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-28 09:38:56 +01:00
d2512d324a
This patch adds a minimal integration test building Audiobookshelf as a binary, running it and checking if the server is available on each push and pull request. We can easily extend this with a Selenium or Playwright test later, but it should already alert us about problems in the build pipeline without the need for any developer to take a look at the new patches.
45 lines
1003 B
YAML
45 lines
1003 B
YAML
name: Integration Test
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches-ignore:
|
|
- 'dependabot/**' # Don't run dependabot branches, as they are already covered by pull requests
|
|
|
|
jobs:
|
|
build:
|
|
name: build and test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: setup nade
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 16
|
|
|
|
- name: install pkg
|
|
run: npm install -g pkg
|
|
|
|
- name: get client dependencies
|
|
working-directory: client
|
|
run: npm ci
|
|
|
|
- name: build client
|
|
working-directory: client
|
|
run: npm run generate
|
|
|
|
- name: get server dependencies
|
|
run: npm ci --only=production
|
|
|
|
- name: build binary
|
|
run: pkg -t node18-linux-x64 -o audiobookshelf .
|
|
|
|
- name: run audiobookshelf
|
|
run: |
|
|
./audiobookshelf &
|
|
sleep 5
|
|
|
|
- name: test if server is available
|
|
run: curl -sf http://127.0.0.1:3333 | grep Audiobookshelf
|