Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: CI

on:
push:
branches:
- main
- development
pull_request:
branches:
- main
- development

Comment on lines +4 to +13
jobs:
check:
name: ${{ matrix.task }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
task:
- lint
- format:check
- type-check
- build
- test
steps:
- name: Checkout code
uses: actions/checkout@v7

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun install --frozen-lockfile

- name: Run ${{ matrix.task }}
run: bun run ${{ matrix.task }}
37 changes: 0 additions & 37 deletions .github/workflows/clippy.yml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/codecov.yml

This file was deleted.

43 changes: 43 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Deploy

# main -> production, development -> stage, per the Edge Apps development doc.
on:
push:
branches:
- main
- development

concurrency:
group: deploy-${{ github.ref }}
cancel-in-progress: false

jobs:
deploy:
name: Deploy to ${{ github.ref_name == 'main' && 'production' || 'stage' }}
runs-on: ubuntu-latest
environment: ${{ github.ref_name == 'main' && 'production' || 'stage' }}
steps:
- name: Checkout code
uses: actions/checkout@v7

- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest

- name: Install dependencies
run: bun install --frozen-lockfile

# `bun run build` runs type-check first via the prebuild script, so a
# broken build never reaches a screen.
- name: Build
run: bun run build

# The manifest is copied into dist/ by the build, so the whole Edge App
# is dist/ and nothing else — no source, no node_modules, no repo files.
- name: Deploy Edge App
uses: Screenly/cli@v1.2.1
with:
screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }}
cli_commands: edge-app deploy --path=dist/
31 changes: 0 additions & 31 deletions .github/workflows/pyright-annotations.yml

This file was deleted.

26 changes: 0 additions & 26 deletions .github/workflows/ruff.yml

This file was deleted.

38 changes: 0 additions & 38 deletions .github/workflows/sqllint.yml

This file was deleted.

5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules/
dist/
*.log
.DS_Store
mock-data.yml
5 changes: 0 additions & 5 deletions .ignore

This file was deleted.

6 changes: 6 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": false,
"singleQuote": true,
"printWidth": 80
}
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Changelog

User-facing release notes. Technical detail — refactors, dependency bumps, API
changes — belongs in the GitHub Release for the matching tag.

## v0.0.1

The first release.

A map centred on your screen's own location, calling out the nearest earthquake
in the last seven days: how strong it was, where, how far away, in which
direction, and how long ago. Tectonic plate boundaries are drawn over the map,
which is usually why the quake sits where it does.

- Choose miles or kilometres.
- If the earthquake feed cannot be reached, the screen keeps showing the last
reading it received rather than going blank.
- A screen with no location set says so, instead of guessing.
- Nothing moves and nothing animates. The feed refreshes every five minutes.
Loading
Loading