Finalize action.yml with full inputs and outputs

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Leon Mika 2026-05-02 10:43:44 +10:00
parent 3b2fa2d6ae
commit 3792d00d6e

View file

@ -1,7 +1,64 @@
name: Wails Release
description: Build, sign, notarize and (optionally) upload a Wails macOS app
branding:
icon: package
color: blue
inputs:
working-directory: { description: "Directory containing wails.json", required: false, default: "." }
app-name: { description: "Override the app name (defaults to wails.json `name`)", required: false }
version: { description: "Override the version (defaults to tag/SHA logic)", required: false }
wails-version: { description: "Override the Wails CLI version (defaults to project go.mod)", required: false }
extra-build-flags: { description: "Additional flags appended to `wails build`", required: false }
developer-id-cert-base64: { description: "Base64-encoded Developer ID .p12", required: true }
developer-id-cert-password: { description: ".p12 password", required: true }
notarization-method: { description: "api-key | apple-id | auto", required: false, default: "auto" }
notarization-api-key-base64: { description: "Base64-encoded App Store Connect .p8", required: false }
notarization-api-key-id: { description: "App Store Connect API key ID", required: false }
notarization-api-issuer-id: { description: "App Store Connect issuer ID", required: false }
notarization-apple-id: { description: "Apple ID (e.g. user@example.com)", required: false }
notarization-apple-password: { description: "App-specific password", required: false }
notarization-team-id: { description: "Apple developer Team ID", required: false }
s3-bucket: { description: "S3 bucket name. If empty, upload is skipped.", required: false }
s3-key: { description: "Object key. Supports {version} and {filename} placeholders.", required: false }
s3-endpoint-url: { description: "Custom endpoint for S3-compatible storage (MinIO, R2, etc.)", required: false }
s3-region: { description: "AWS region", required: false, default: "us-east-1" }
outputs:
version: { description: "Resolved version string", value: ${{ steps.run.outputs.version }} }
app-name: { description: "Resolved app name", value: ${{ steps.run.outputs.app-name }} }
artifact-path: { description: "Local absolute path to the .app.zip", value: ${{ steps.run.outputs.artifact-path }} }
artifact-filename: { description: "Filename of the .app.zip", value: ${{ steps.run.outputs.artifact-filename }} }
s3-url: { description: "s3://… URL if uploaded, else empty", value: ${{ steps.run.outputs.s3-url }} }
runs:
using: composite
steps:
- shell: bash
run: echo "wails-release stub"
- id: run
shell: bash
env:
INPUT_WORKING_DIRECTORY: ${{ inputs.working-directory }}
INPUT_APP_NAME: ${{ inputs.app-name }}
INPUT_VERSION: ${{ inputs.version }}
INPUT_WAILS_VERSION: ${{ inputs.wails-version }}
INPUT_EXTRA_BUILD_FLAGS: ${{ inputs.extra-build-flags }}
INPUT_DEVELOPER_ID_CERT_BASE64: ${{ inputs.developer-id-cert-base64 }}
INPUT_DEVELOPER_ID_CERT_PASSWORD: ${{ inputs.developer-id-cert-password }}
INPUT_NOTARIZATION_METHOD: ${{ inputs.notarization-method }}
INPUT_NOTARIZATION_API_KEY_BASE64: ${{ inputs.notarization-api-key-base64 }}
INPUT_NOTARIZATION_API_KEY_ID: ${{ inputs.notarization-api-key-id }}
INPUT_NOTARIZATION_API_ISSUER_ID: ${{ inputs.notarization-api-issuer-id }}
INPUT_NOTARIZATION_APPLE_ID: ${{ inputs.notarization-apple-id }}
INPUT_NOTARIZATION_APPLE_PASSWORD: ${{ inputs.notarization-apple-password }}
INPUT_NOTARIZATION_TEAM_ID: ${{ inputs.notarization-team-id }}
INPUT_S3_BUCKET: ${{ inputs.s3-bucket }}
INPUT_S3_KEY: ${{ inputs.s3-key }}
INPUT_S3_ENDPOINT_URL: ${{ inputs.s3-endpoint-url }}
INPUT_S3_REGION: ${{ inputs.s3-region }}
run: |
set -euo pipefail
go install "${{ github.action_repository }}/cmd/wails-release@${{ github.action_ref }}"
"$(go env GOPATH)/bin/wails-release"