diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 0349dc73..c76f54ba 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -1,10 +1,9 @@ name: release-publish on: - workflow_dispatch: - inputs: - tag: - default: '' - description: 'Version tag (dart-#.#.# or flutter-#.#.#):' + push: + tags: + - "dart-[0-9]+.[0-9]+.[0-9]+*" + - "flutter-[0-9]+.[0-9]+.[0-9]+*" workflow_call: inputs: dart_tag: @@ -16,12 +15,14 @@ on: type: string description: 'Flutter package version tag (flutter-#.#.#)' env: - # Resolve tags for both workflow_dispatch and workflow_call - dart_tag_resolved: ${{ inputs.dart_tag || (startsWith(inputs.tag, 'dart-') && inputs.tag || '') }} - flutter_tag_resolved: ${{ inputs.flutter_tag || (startsWith(inputs.tag, 'flutter-') && inputs.tag || '') }} + # For tag push: extract from github.ref_name + # For workflow_call: use inputs + package: ${{ startsWith(github.ref_name, 'dart-') && 'dart' || startsWith(github.ref_name, 'flutter-') && 'flutter' || '' }} + dart_tag_resolved: ${{ inputs.dart_tag || (startsWith(github.ref_name, 'dart-') && github.ref_name || '') }} + flutter_tag_resolved: ${{ inputs.flutter_tag || (startsWith(github.ref_name, 'flutter-') && github.ref_name || '') }} jobs: pub-publish-dart: - if: inputs.dart_tag != '' || startsWith(inputs.tag, 'dart-') + if: inputs.dart_tag != '' || startsWith(github.ref_name, 'dart-') runs-on: ubuntu-latest timeout-minutes: 10 permissions: @@ -49,7 +50,7 @@ jobs: run: dart pub publish --force pub-publish-flutter: - if: inputs.flutter_tag != '' || startsWith(inputs.tag, 'flutter-') + if: inputs.flutter_tag != '' || startsWith(github.ref_name, 'flutter-') runs-on: ubuntu-latest timeout-minutes: 10 permissions: @@ -85,7 +86,7 @@ jobs: run: dart pub publish --force docs-publish-dart: - if: inputs.dart_tag != '' || startsWith(inputs.tag, 'dart-') + if: inputs.dart_tag != '' || startsWith(github.ref_name, 'dart-') needs: pub-publish-dart runs-on: ubuntu-latest timeout-minutes: 15 @@ -108,7 +109,7 @@ jobs: destination_dir: dart docs-publish-flutter: - if: inputs.flutter_tag != '' || startsWith(inputs.tag, 'flutter-') + if: inputs.flutter_tag != '' || startsWith(github.ref_name, 'flutter-') needs: pub-publish-flutter runs-on: ubuntu-latest timeout-minutes: 15