Skip to content

chore(version): update to version 9.3.16-experimental #129

chore(version): update to version 9.3.16-experimental

chore(version): update to version 9.3.16-experimental #129

Workflow file for this run

name: πŸš€ Publish to pub.dev
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+*'
jobs:
publish:
name: Publish the packages
permissions:
id-token: write
# Give the default GITHUB_TOKEN write permission to commit and push the changed files to the repository.
# Also required for uploading files to the Release assets
contents: write
runs-on: ubuntu-latest
steps:
- name: πŸ“¦ Checkout repository
uses: actions/checkout@v4
# Needed for commit and push changes
with:
# TODO: Try to not hardcode the branch name
ref: master
fetch-depth: 0 # To get all tags
- name: πŸ“„ Upload LICENSE file to release assets
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: LICENSE
- name: πŸ› οΈ Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: πŸ” Verify Flutter installation
run: flutter --version
- name: 🚧 Enable local development environment (use the local packages)
run: ./scripts/enable_local_dev.sh
- name: πŸ“₯ Install Flutter dependencies
run: flutter pub get
# This is needed in order for the authentication to success
# dart pub token add https://pub.dev --env-var PUB_TOKEN
# Requests to "https://pub.dev" will now be authenticated using the secret token stored in the environment variable "PUB_TOKEN".
- name: πŸ—οΈ Set up Dart environment
uses: dart-lang/setup-dart@v1
## dart-lang/setup-dart/.github/workflows/publish.yml@v1
# - name: Update the authorization requests to "https://pub.dev" to use the environment variable "PUB_TOKEN".
# run: dart pub token add https://pub.dev --env-var PUB_TOKEN
# Before publishing the new packages, update the version for all the packages first
# Extract version from the tag (handles the 'v' prefix)
- name: 🏷️ Extract version from tag as pubspec.yaml version
id: extract_version
run: |
version=$(echo ${GITHUB_REF} | sed 's/^refs\/tags\/v\(.*\)$/\1/')
echo "VERSION=${version}" >> $GITHUB_OUTPUT
- name: βœ… Validate extracted version format (should be pubspec.yaml valid version)
run: |
version=${{ steps.extract_version.outputs.VERSION }}
if [[ ! $version =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?(\+[0-9A-Za-z.-]+)?$ ]]; then
echo "❌ Invalid version format: $version. The version must be a valid pubspec.yaml version"
exit 1
fi
- name: 🏷️ Extract release tag
id: release_tag
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- name: πŸ“‘ Fetch release notes from Github API
id: fetch-release-notes-request
uses: fjogeleit/http-request-action@v1
with:
url: https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ steps.release_tag.outputs.tag }}
method: 'GET'
customHeaders: '{"Authorization": "${{ secrets.GITHUB_TOKEN }}"}'
preventFailureOnNoResponse: 'false'
- name: ⚠️ Validate release notes response
run: |
releaseNotesResponse="${{ fromJson(steps.fetch-release-notes-request.outputs.response) }}"
if [[ -z "$releaseNotesResponse" || "$releaseNotesResponse" == "null" ]]; then
echo "Error: Release notes response is empty."
exit 1
fi
# TODO: There is a bug that cause styling loss: https://github.com/singerdmx/flutter-quill/issues/1880
- name: πŸ“ Update version and CHANGELOG for all the packages
run: dart ./scripts/update_package_version.dart ${{ steps.extract_version.outputs.VERSION }} ${{ toJson(fromJson(steps.fetch-release-notes-request.outputs.response).body) }}
- name: πŸ’Ύ Commit updated version and CHANGELOG
id: auto-commit-action
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore(version): update to version ${{ steps.extract_version.outputs.VERSION }}"
- name: πŸ” Verify changes made by the script
if: steps.auto-commit-action.outputs.changes_detected == 'true'
run: echo "βœ… Changes have been committed."
- name: πŸ”„ Check if package is ready for publishing
run: flutter pub publish --dry-run
- name: πŸ“€ Publish flutter_quill
run: flutter pub publish --force
- name: πŸ“€ Publish dart_quill_delta
run: flutter pub publish --force
working-directory: ./dart_quill_delta/
- name: πŸ“€ Publish flutter_quill_extensions
run: flutter pub publish --force
working-directory: ./flutter_quill_extensions/
- name: πŸ“€ Publish flutter_quill_test
run: flutter pub publish --force
working-directory: ./flutter_quill_test/
- name: πŸ“€ Publish quill_html_converter
run: flutter pub publish --force
working-directory: ./quill_html_converter/
- name: πŸ“€ Publish quill_pdf_converter
run: flutter pub publish --force
working-directory: ./quill_pdf_converter/