blowater/.github/workflows/deno.yml
2023-11-18 23:53:53 +08:00

74 lines
1.6 KiB
YAML

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will install Deno then run `deno lint` and `deno test`.
# For more information see: https://github.com/denoland/setup-deno
name: Deno
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
TEST_NOTIFICATION_PUBKEY: ${{ vars.TEST_NOTIFICATION_PUBKEY }}
permissions:
contents: read
jobs:
test:
timeout-minutes: 3
runs-on: ubuntu-latest
strategy:
matrix:
deno-version: [1.38.2]
steps:
- name: Setup repo
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Setup Deno
uses: denoland/setup-deno@v1
- name: Verify formatting
run: make fmt-check
- name: Run tests
run: make test
- name: UI test
run: cd UI && make compile-all-tests
deploy:
timeout-minutes: 1
runs-on: ubuntu-latest
permissions:
id-token: write # Needed for auth with Deno Deploy
contents: read # Needed to clone the repository
steps:
- name: Clone repository
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Setup Deno
uses: denoland/setup-deno@v1
- name: Bundle
run: cd UI && make build-pwa
- name: Upload to Deno Deploy
uses: denoland/deployctl@v1
with:
project: "blowater"
entrypoint: https://raw.githubusercontent.com/denoland/deno_std/0.196.0/http/file_server.ts
root: UI/build-pwa