Initialize runs once per environment and shows the new id right away

initialize stops when the environment's id variable is already set, and puts the new Edge App's id in the job summary as soon as the app is created.

initialize is for the first deploy to an environment, and it holds to that now. Pass it the environment's id variable, and if the variable is set, the run stops with an error that points you to update:

- uses: Screenly/edge-apps-actions/[email protected]
  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: ${{ (inputs.environment == 'production' && vars.PRODUCTION_EDGE_APP_ID) || (inputs.environment == 'stage' && vars.STAGE_EDGE_APP_ID) || '' }}

The new app's id shows up as soon as the app exists, before the build and deploy steps: as a notice in the log, and under "Edge App id" in the job summary, together with the name of the variable to set. If a later step fails, you still have the id.

To start an environment over, delete its Edge App in Screenly, clear the id variable, and run initialize again.

If this affects you: if a workflow runs initialize with edge_app_id set to deploy to an app that already exists, that run now fails. Move that job to the update action, which takes the same screenly_api_token, environment, and edge_app_id inputs.

Put Screenly on your screens

Book a demo and we will walk you and your IT team through it, or start a free trial on a screen you already have.