From 35eb904716a864952948eee4731635e6cfc0d9c3 Mon Sep 17 00:00:00 2001 From: nicomiguelino Date: Thu, 3 Sep 2026 17:20:32 -0700 Subject: [PATCH] Use EDGE_APP_ID for stage and production deploys - Set STAGE_EDGE_APP_ID and PRODUCTION_EDGE_APP_ID repo variables and pass them through to the initialize/update actions as edge_app_id - Drop id from screenly.yml and delete screenly_qc.yml since a single manifest is now used regardless of environment - Pin edge-apps-actions to a commit for now, since v26.9.0 can't be tagged there until a repo ruleset is adjusted --- .github/workflows/initialize-edge-app.yml | 3 +- .github/workflows/update-edge-app.yml | 6 +- screenly.yml | 1 - screenly_qc.yml | 74 ----------------------- 4 files changed, 6 insertions(+), 78 deletions(-) delete mode 100644 screenly_qc.yml diff --git a/.github/workflows/initialize-edge-app.yml b/.github/workflows/initialize-edge-app.yml index 46b89f1..c011864 100644 --- a/.github/workflows/initialize-edge-app.yml +++ b/.github/workflows/initialize-edge-app.yml @@ -32,9 +32,10 @@ jobs: - uses: actions/checkout@v6 with: ref: ${{ inputs.environment == 'production' && 'main' || github.ref }} - - uses: Screenly/edge-apps-actions/initialize@v1 + - uses: Screenly/edge-apps-actions/initialize@f4ccd2bd50db5fb0a5147d287ac03cafe552d29b 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 }} + edge_app_id: ${{ secrets.EDGE_APP_ID || (inputs.environment == 'production' && vars.PRODUCTION_EDGE_APP_ID || (inputs.environment == 'stage' && vars.STAGE_EDGE_APP_ID)) }} diff --git a/.github/workflows/update-edge-app.yml b/.github/workflows/update-edge-app.yml index 8304746..22c33a7 100644 --- a/.github/workflows/update-edge-app.yml +++ b/.github/workflows/update-edge-app.yml @@ -18,11 +18,12 @@ jobs: environment: stage steps: - uses: actions/checkout@v6 - - uses: Screenly/edge-apps-actions/update@v1 + - uses: Screenly/edge-apps-actions/update@f4ccd2bd50db5fb0a5147d287ac03cafe552d29b with: screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }} environment: stage delete_missing_settings: 'true' + edge_app_id: ${{ secrets.EDGE_APP_ID || vars.STAGE_EDGE_APP_ID }} deploy-production: name: Updating Airtable App in production @@ -31,8 +32,9 @@ jobs: environment: production steps: - uses: actions/checkout@v6 - - uses: Screenly/edge-apps-actions/update@v1 + - uses: Screenly/edge-apps-actions/update@f4ccd2bd50db5fb0a5147d287ac03cafe552d29b with: screenly_api_token: ${{ secrets.SCREENLY_API_TOKEN }} environment: production delete_missing_settings: 'true' + edge_app_id: ${{ secrets.EDGE_APP_ID || vars.PRODUCTION_EDGE_APP_ID }} diff --git a/screenly.yml b/screenly.yml index ac59c22..f40d94a 100644 --- a/screenly.yml +++ b/screenly.yml @@ -1,6 +1,5 @@ --- syntax: manifest_v1 -id: 01KSJH73R8X9F9DJ58AV4357GP description: Display Airtable data on your Screenly digital signage screens icon: https://playground.srly.io/edge-apps/icons/airtable.svg author: Screenly, Inc. diff --git a/screenly_qc.yml b/screenly_qc.yml deleted file mode 100644 index 4d609a2..0000000 --- a/screenly_qc.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -syntax: manifest_v1 -id: 01KSJGVCTG2EQMDPJH83219TJ6 -description: Display Airtable data on your Screenly digital signage screens -icon: https://playground.srly.io/edge-apps/icons/airtable.svg -author: Screenly, Inc. -categories: - - Dashboards - - Productivity -ready_signal: true -settings: - access_token: - type: secret - title: Access Token - optional: true - help_text: - properties: - help_text: For testing only. In production, the access token is fetched dynamically via the Screenly OAuth service. - type: oauth:airtable:access_token - schema_version: 1 - base_id: - type: string - title: Base - optional: false - help_text: - properties: - help_text: The ID of the Airtable base to display data from (e.g. appXXXXXXXXXXXXXX). - type: oauth:airtable:base - 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: | - Override the default locale with a supported language code (e.g., en, fr, de). Defaults to English if not specified. - override_timezone: - type: string - default_value: '' - title: Override Timezone - optional: true - help_text: | - Override the default timezone with a supported timezone identifier (e.g., Europe/London, America/New_York). Defaults to the system timezone if left blank. - refresh_interval: - type: string - default_value: '30' - title: Refresh Interval (seconds) - optional: true - help_text: - properties: - advanced: true - help_text: How often to refresh Airtable data. Defaults to 30 seconds. - type: number - schema_version: 1 - view_id: - type: string - title: View - optional: false - help_text: - properties: - help_text: The ID of the view to display. Supports grid and kanban views. - type: oauth:airtable:view - schema_version: 1