Skip to content

Skip deployment if manifest file or id field is missing #9

Description

@nicomiguelino

Problem

Currently, the update action proceeds with deployment even when:

  1. The manifest file (screenly.yml for production, screenly_qc.yml for stage) does not exist in the repository.
  2. The manifest file exists but does not contain an id field.

This causes failures during the deploy step because the Edge App has not been initialized yet (e.g., the id is only written after the first initialize run).

Proposed solution

Add a pre-flight check in the update action that:

  1. Verifies the manifest file exists for the target environment.
  2. Uses yq to check that the id field is present and non-empty in the manifest.
  3. If either check fails, exits gracefully (skip the remaining steps) instead of erroring.

This avoids duplicating the guard logic in every consuming workflow and keeps individual Edge App repositories clean.

Context

This came up in Screenly/airtable-app, where both screenly.yml and screenly_qc.yml exist on the development branch but neither has an id yet (the app hasn't been initialized). The workflow currently runs on every push to development/main, so it will fail until the app is initialized.

Placing this guard inside the action makes it reusable across all Edge App repositories without code duplication.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions