name: Deploy Direct (Example) "on": workflow_dispatch: inputs: runner: description: Runner label (use self-hosted label for real deploy) required: true default: ubuntu-latest image: description: Image to deploy (registry/repo:tag) required: true jobs: deploy: runs-on: ${{ inputs.runner }} steps: # Required for local action usage: `uses: ./.github/actions/...` - name: Checkout uses: actions/checkout@v4 - name: Compose Up uses: ./.github/actions/compose-up with: image: ${{ inputs.image }} workdir: . compose_args: up -d --pull always --remove-orphans