Add pipeline for pushing to pub.dev on tag creation (#164)
* workflows: Add workflow for publishing on tag creation * Update .github/workflows/publish.yml --------- Co-authored-by: Foti Dim <foti@navideck.com>
This commit is contained in:
committed by
GitHub
parent
682aba5bc6
commit
71dfe352d4
@@ -0,0 +1,38 @@
|
||||
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]+*
|
||||
- '[0-9]+.[0-9]+.[0-9]+*' # tag-pattern on pub.dev: ''
|
||||
# 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
|
||||
- name: Get flutter version
|
||||
run: echo "flutter_version=`cat .flutter_version`" >> $GITHUB_ENV
|
||||
id: flutter_version
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
cache: true
|
||||
flutter-version: ${{ env.flutter_version }}
|
||||
- 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 # --force because of the web dependency
|
||||
Reference in New Issue
Block a user