blowater/.github/workflows/deno.yml
2023-06-30 14:05:57 +00:00

67 lines
1.5 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: 15
runs-on: ubuntu-latest
strategy:
matrix:
deno-version: [1.32.5]
steps:
- name: Setup repo
uses: actions/checkout@v3
- name: Setup Deno
uses: denoland/setup-deno@v1
- name: Verify formatting
run: make fmt-check
- name: Run tests
run: make test
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
- name: Setup Deno
uses: denoland/setup-deno@v1
- name: Bundle
run: cd UI && make bundle-app
- name: Upload to Deno Deploy
uses: denoland/deployctl@v1
with:
project: "blowater"
entrypoint: https://deno.land/std/http/file_server.ts
root: UI/deploy