Run API tests inside Eartlhly

This commit is contained in:
Gabe Kangas
2022-09-04 16:41:02 -07:00
parent 5f118abe83
commit c0dc2eb707
4 changed files with 39 additions and 25 deletions

View File

@@ -3,19 +3,30 @@ name: Automated API tests
on: on:
push: push:
paths-ignore: paths-ignore:
- 'webroot/**' - 'web/**'
pull_request:
paths-ignore:
- 'web/**' - 'web/**'
jobs: jobs:
api: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: earthly/actions-setup@v1
- uses: actions/setup-go@v3
with: with:
stable: 'false' version: 'latest' # or pin to an specific version, e.g. "v0.6.10"
go-version: '1.17.2'
- name: Earthly version
run: earthly --version
- name: Set up QEMU
id: qemu
uses: docker/setup-qemu-action@v2
with:
image: tonistiigi/binfmt:latest
platforms: all
- uses: actions/checkout@v3
- name: Run API tests - name: Run API tests
run: cd test/automated/api && ./run.sh run: earthly +api-tests

View File

@@ -127,5 +127,6 @@ api-tests:
FROM --platform=linux/amd64 bdwyertech/go-crosscompile FROM --platform=linux/amd64 bdwyertech/go-crosscompile
RUN apk add ffmpeg npm RUN apk add ffmpeg npm
COPY . /build COPY . /build
WORKDIR /build WORKDIR /build/test/automated/api
RUN cd test/automated/api && ./run.sh RUN npm install
RUN ./run.sh

View File

@@ -1302,6 +1302,7 @@
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.2.tgz", "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.2.tgz",
"integrity": "sha512-AtnG3W6M8B2n4xDQ5R+70EXvOpnXsFYg/AK2yTZd+HQ/oxAdz+GI+DvjmhBw3L0ole+LJ0ngqY4JMbDzkfNzhA==", "integrity": "sha512-AtnG3W6M8B2n4xDQ5R+70EXvOpnXsFYg/AK2yTZd+HQ/oxAdz+GI+DvjmhBw3L0ole+LJ0ngqY4JMbDzkfNzhA==",
"hasInstallScript": true,
"dependencies": { "dependencies": {
"node-gyp-build": "^4.2.0" "node-gyp-build": "^4.2.0"
} }
@@ -5679,6 +5680,7 @@
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.3.tgz", "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.3.tgz",
"integrity": "sha512-jtJM6fpGv8C1SoH4PtG22pGto6x+Y8uPprW0tw3//gGFhDDTiuksgradgFN6yRayDP4SyZZa6ZMGHLIa17+M8A==", "integrity": "sha512-jtJM6fpGv8C1SoH4PtG22pGto6x+Y8uPprW0tw3//gGFhDDTiuksgradgFN6yRayDP4SyZZa6ZMGHLIa17+M8A==",
"hasInstallScript": true,
"dependencies": { "dependencies": {
"node-gyp-build": "^4.2.0" "node-gyp-build": "^4.2.0"
} }

View File

@@ -3,7 +3,7 @@
TEMP_DB=$(mktemp) TEMP_DB=$(mktemp)
# Install the node test framework # Install the node test framework
npm install --silent > /dev/null npm install #--silent >/dev/null
# Download a specific version of ffmpeg # Download a specific version of ffmpeg
if [ ! -d "ffmpeg" ]; then if [ ! -d "ffmpeg" ]; then
@@ -18,7 +18,7 @@ fi
pushd ../../.. >/dev/null pushd ../../.. >/dev/null
# Build and run owncast from source # Build and run owncast from source
go build -race -o owncast main.go go build -o owncast main.go
./owncast -database $TEMP_DB & ./owncast -database $TEMP_DB &
SERVER_PID=$! SERVER_PID=$!