diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8c4cc3b..aa32f45 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -14,12 +14,13 @@ updates: # TypeScript 7 breaks `bun run lint`. Remove once upstream supports it. - dependency-name: 'typescript' versions: - - '>=7' + - '>=6.1' - package-ecosystem: 'github-actions' directory: '/' schedule: - interval: 'monthly' + interval: 'weekly' + target-branch: 'development' groups: github-actions: patterns: diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index f08b3b4..91799b7 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -1,3 +1,4 @@ +--- name: Checks on: @@ -5,14 +6,16 @@ on: branches: - development - main + - master pull_request: branches: - development - main + - master + +permissions: + contents: read jobs: checks: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v7 - - uses: Screenly/edge-apps-actions/checks@v1 + uses: Screenly/edge-apps-actions/.github/workflows/checks.yml@v26.10.2 diff --git a/.github/workflows/initialize-edge-app.yml b/.github/workflows/initialize-edge-app.yml index 29fce8e..391eb5d 100644 --- a/.github/workflows/initialize-edge-app.yml +++ b/.github/workflows/initialize-edge-app.yml @@ -21,20 +21,17 @@ on: required: true type: string +permissions: + contents: read + run-name: Initializing ${{ inputs.edge_app_name }} in ${{ inputs.environment }} jobs: initialize: - name: Initializing ${{ inputs.edge_app_name }} in ${{ inputs.environment }} - runs-on: ubuntu-latest - environment: ${{ inputs.environment }} - steps: - - uses: actions/checkout@v7 - with: - ref: ${{ inputs.environment == 'production' && 'main' || github.ref }} - - uses: Screenly/edge-apps-actions/initialize@v1 - with: - screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }} - edge_app_name: ${{ inputs.edge_app_name }} - edge_app_title: ${{ inputs.edge_app_title }} - environment: ${{ inputs.environment }} + uses: Screenly/edge-apps-actions/.github/workflows/initialize.yml@v26.10.2 + with: + environment: ${{ inputs.environment }} + edge_app_name: ${{ inputs.edge_app_name }} + edge_app_title: ${{ inputs.edge_app_title }} + secrets: + SCREENLY_API_TOKEN: ${{ secrets.SCREENLY_API_TOKEN }} diff --git a/.github/workflows/update-edge-app.yml b/.github/workflows/update-edge-app.yml index 5591779..56564ec 100644 --- a/.github/workflows/update-edge-app.yml +++ b/.github/workflows/update-edge-app.yml @@ -5,34 +5,18 @@ on: workflow_dispatch: push: branches: - - development - main + - master + tags: + - 'v[0-9]*' -run-name: Updating Simple Table App in ${{ github.event_name == 'workflow_dispatch' && 'stage' || (github.ref == 'refs/heads/main' && 'production' || 'stage') }} +permissions: + contents: read -jobs: - deploy-stage: - name: Updating Simple Table App in stage - runs-on: ubuntu-latest - if: (github.event_name == 'push' && github.ref == 'refs/heads/development') || github.event_name == 'workflow_dispatch' - environment: stage - steps: - - uses: actions/checkout@v7 - - uses: Screenly/edge-apps-actions/update@v1 - with: - screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }} - environment: stage - delete_missing_settings: 'true' +run-name: Updating Simple Table App in ${{ (github.event_name == 'push' && !github.event.deleted && startsWith(github.ref, 'refs/tags/v')) && 'production' || 'stage' }} - deploy-production: - name: Updating Simple Table App in production - runs-on: ubuntu-latest - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - environment: production - steps: - - uses: actions/checkout@v7 - - uses: Screenly/edge-apps-actions/update@v1 - with: - screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }} - environment: production - delete_missing_settings: 'true' +jobs: + update: + uses: Screenly/edge-apps-actions/.github/workflows/update.yml@v26.10.2 + secrets: + SCREENLY_API_TOKEN: ${{ secrets.SCREENLY_API_TOKEN }} diff --git a/README.md b/README.md index 065c29d..0f15be3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ +[![Version](https://img.shields.io/github/v/release/Screenly/simple-table-app)](https://github.com/Screenly/simple-table-app/releases/latest) + # Screenly Simple Table App +![Simple Table App Preview](/screenshots/1920x1080.webp) + ## Getting Started ```bash @@ -16,6 +20,22 @@ bun run deploy screenly edge-app instance create ``` +### Releasing + +Pushes to `main` start a stage deploy, which waits for approval. To release to production, tag a commit on `main` and push the tag (the workflow refuses tags not on `main`); the production deploy also waits for approval: + +```bash +git checkout main && git pull +git tag v26.10.0 +git push origin v26.10.0 +``` + +Then publish a GitHub Release whose notes list the pull requests merged since the previous release. Add `--draft` to review the notes before publishing: + +```bash +gh release create v26.10.0 --verify-tag --generate-notes --title v26.10.0 +``` + ## Configuration The app accepts the following settings via `screenly.yml`: diff --git a/screenly.yml b/screenly.yml index 3f77eea..25a0458 100644 --- a/screenly.yml +++ b/screenly.yml @@ -1,8 +1,7 @@ --- syntax: manifest_v1 -id: 01K8902JESR65C9YAW78KVAYX5 description: Simple Table App - Display CSV data as a formatted table -icon: https://playground.srly.io/edge-apps/simple-table-app/static/images/icon.svg +icon: https://playground.srly.io/edge-apps/icons/simple-table-app.svg author: Screenly, Inc. entrypoint: type: file diff --git a/screenly_qc.yml b/screenly_qc.yml deleted file mode 100644 index 7a39435..0000000 --- a/screenly_qc.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -syntax: manifest_v1 -id: 01K83XNMPZHBH5B0FHG15C6JZ9 -description: Simple Table App - Display CSV data as a formatted table -icon: https://playground.srly.io/edge-apps/simple-table-app/static/images/icon.svg -author: Screenly, Inc. -entrypoint: - type: file -categories: - - Utilities -ready_signal: true -settings: - content: - type: string - default_value: | - Name,Age - John,25 - Jane,30 - title: CSV Content - optional: false - help_text: - properties: - help_text: Enter your CSV data here. The first row will be treated as headers. Use commas to separate columns and new lines to separate rows. - type: textarea - schema_version: 1 - display_errors: - type: string - default_value: 'false' - title: Display Errors - optional: true - help_text: - properties: - advanced: true - help_text: For debugging purposes to display errors on the screen. - type: boolean - schema_version: 1 - override_locale: - type: string - default_value: '' - title: Override Locale - optional: true - help_text: | - Locale for time formatting. Leave empty to use the browser's default locale. - override_timezone: - type: string - default_value: '' - title: Override Timezone - optional: true - help_text: | - Timezone for time display. Leave empty to use the player's location-based timezone. - title: - type: string - default_value: '' - title: Table Title - optional: true - help_text: | - Optional title to display above the table. Leave empty to hide. diff --git a/screenshots/1080x1920.webp b/screenshots/1080x1920.webp index 0899e72..ec73ab8 100644 Binary files a/screenshots/1080x1920.webp and b/screenshots/1080x1920.webp differ diff --git a/screenshots/1280x720.webp b/screenshots/1280x720.webp index 64ae8be..292a823 100644 Binary files a/screenshots/1280x720.webp and b/screenshots/1280x720.webp differ diff --git a/screenshots/1920x1080.webp b/screenshots/1920x1080.webp index b34a3cd..61c48e2 100644 Binary files a/screenshots/1920x1080.webp and b/screenshots/1920x1080.webp differ diff --git a/screenshots/2160x3840.webp b/screenshots/2160x3840.webp index 150dfd7..7af85e5 100644 Binary files a/screenshots/2160x3840.webp and b/screenshots/2160x3840.webp differ diff --git a/screenshots/2160x4096.webp b/screenshots/2160x4096.webp index 7c81cf2..8bf135c 100644 Binary files a/screenshots/2160x4096.webp and b/screenshots/2160x4096.webp differ diff --git a/screenshots/3840x2160.webp b/screenshots/3840x2160.webp index ccf9dc8..52fd498 100644 Binary files a/screenshots/3840x2160.webp and b/screenshots/3840x2160.webp differ diff --git a/screenshots/4096x2160.webp b/screenshots/4096x2160.webp index f3568bd..f4853c9 100644 Binary files a/screenshots/4096x2160.webp and b/screenshots/4096x2160.webp differ diff --git a/screenshots/480x800.webp b/screenshots/480x800.webp index 61294b5..e149f95 100644 Binary files a/screenshots/480x800.webp and b/screenshots/480x800.webp differ diff --git a/screenshots/720x1280.webp b/screenshots/720x1280.webp index 747f848..f09a026 100644 Binary files a/screenshots/720x1280.webp and b/screenshots/720x1280.webp differ diff --git a/screenshots/800x480.webp b/screenshots/800x480.webp index 45171da..f177cc1 100644 Binary files a/screenshots/800x480.webp and b/screenshots/800x480.webp differ