ci: end-to-end CI testing (#1)

* do end-to-end testing

* set node version

* build then start

* remove test restrictions

* panic if mime type fails

* use timeout
This commit is contained in:
Hayden 2022-09-03 19:06:55 -08:00 committed by GitHub
parent ad4c8c9ab4
commit 7ccd48ad79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 16 deletions

View file

@ -1,19 +1,25 @@
on:
push:
branches: [main]
paths:
- "**.ts"
- "**.vue"
pull_request:
branches: [main]
paths:
- "**.ts"
- "**.vue"
jobs:
Frontend:
runs-on: ubuntu-latest
steps:
- name: Install Task
uses: arduino/setup-task@v1
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.18
- uses: actions/setup-node@v3
with:
node-version: 18
- uses: pnpm/action-setup@v2.2.2
with:
version: 6.0.2
@ -27,6 +33,5 @@ jobs:
run: pnpm install
working-directory: frontend
- name: Vitest
run: pnpm test:ci
working-directory: frontend
- name: Run Integration Tests
run: task test:integration

View file

@ -3,12 +3,8 @@ name: Go Build/Test
on:
push:
branches: [main]
paths:
- "**.go"
pull_request:
branches: [main]
paths:
- "**.go"
jobs:
Go:
@ -31,6 +27,7 @@ jobs:
version: latest
# Optional: working directory, useful for monorepos
timeout: 5m
working-directory: backend
- name: Build API

View file

@ -33,7 +33,8 @@ tasks:
test:integration:
cmds:
- cd backend && go run ./app/api/ &
- cd backend && go build ./app/api
- backend/api &
- sleep 5
- cd frontend && pnpm run test:ci
silent: true

View file

@ -107,8 +107,15 @@ func (a *app) LogRoutes(r *chi.Mux) {
var ErrDir = errors.New("path is dir")
func init() {
mime.AddExtensionType(".js", "application/javascript")
mime.AddExtensionType(".mjs", "application/javascript")
err := mime.AddExtensionType(".js", "application/javascript")
if err != nil {
panic(err)
}
err = mime.AddExtensionType(".mjs", "application/javascript")
if err != nil {
panic(err)
}
}
func tryRead(fs embed.FS, prefix, requestedPath string, w http.ResponseWriter) error {