From 38b7c5655ffd18c1d03d7fb99b2502445c962811 Mon Sep 17 00:00:00 2001 From: Jonas Greifenhain Date: Fri, 25 Oct 2024 12:04:20 +0200 Subject: [PATCH] Add pipeline for pushing to pub.dev on tag creation 1. Bump version in pubspec.yaml 2. Create tag --- .github/workflows/publish.yaml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..2b121bc --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,33 @@ +name: Publish to pub.dev + +on: + push: + tags: + # must align with the tag-pattern configured on pub.dev, often just replace + # with [0-9]+.[0-9]+.[0-9]+* + - 'v[0-9]+.[0-9]+.[0-9]+*' # tag-pattern on pub.dev: 'v' + # If you prefer tags like '1.2.3', without the 'v' prefix, then use: + # - '[0-9]+.[0-9]+.[0-9]+*' # tag-pattern on pub.dev: '' + # If your repository contains multiple packages consider a pattern like: + # - 'my_package_name-v[0-9]+.[0-9]+.[0-9]+*' + +# Publish using the reusable workflow from dart-lang. +jobs: + publish: + permissions: + id-token: write # Required for authentication using OIDC + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: stable + - run: flutter pub get + - name: Create publishing token (flutter) + run: | + set -eo pipefail + PUB_TOKEN=$(curl --retry 5 --retry-connrefused -sLS "${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=https://pub.dev" -H "User-Agent: actions/oidc-client" -H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" | jq -r '.value') + echo "PUB_TOKEN=${PUB_TOKEN}" >> $GITHUB_ENV + export PUB_TOKEN + flutter pub token add https://pub.dev --env-var PUB_TOKEN + - run: flutter pub publish --force # Ignore warnings