Release version 1.0.1: Update CHANGELOG with architecture and SDK ext… #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish to pub.dev | |
| on: | |
| push: | |
| tags: | |
| - "v[0-9]+.[0-9]+.[0-9]+" | |
| jobs: | |
| validate: | |
| name: Validate tag version | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Extract tag version | |
| id: tag | |
| run: | | |
| TAG="${GITHUB_REF_NAME}" | |
| VERSION="${TAG#v}" | |
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
| - name: Read pubspec version | |
| id: pubspec | |
| run: | | |
| VERSION=$(grep '^version:' pubspec.yaml | awk '{print $2}' | tr -d "'\"") | |
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
| - name: Assert tag matches pubspec.yaml | |
| run: | | |
| TAG_VERSION="${{ steps.tag.outputs.version }}" | |
| PUBSPEC_VERSION="${{ steps.pubspec.outputs.version }}" | |
| echo "Tag version: $TAG_VERSION" | |
| echo "pubspec version: $PUBSPEC_VERSION" | |
| if [ "$TAG_VERSION" != "$PUBSPEC_VERSION" ]; then | |
| echo "::error::Tag v$TAG_VERSION does not match pubspec.yaml version $PUBSPEC_VERSION" | |
| exit 1 | |
| fi | |
| echo "Version match confirmed: $TAG_VERSION" | |
| analyze: | |
| name: Analyze | |
| runs-on: ubuntu-latest | |
| needs: validate | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dart-lang/setup-dart@v1 | |
| with: | |
| sdk: stable | |
| - name: Install dependencies | |
| run: dart pub get | |
| - name: Verify formatting | |
| run: dart format --output=none --set-exit-if-changed . | |
| - name: Analyze project source | |
| run: dart analyze --fatal-infos | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| needs: validate | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dart-lang/setup-dart@v1 | |
| with: | |
| sdk: stable | |
| - name: Install dependencies | |
| run: dart pub get | |
| - name: Run tests | |
| run: dart test --reporter=expanded | |
| publish: | |
| name: Publish | |
| runs-on: ubuntu-latest | |
| needs: [analyze, test] | |
| permissions: | |
| id-token: write | |
| environment: pub.dev | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dart-lang/setup-dart@v1 | |
| with: | |
| sdk: stable | |
| - name: Install dependencies | |
| run: dart pub get | |
| - name: Publish to pub.dev | |
| run: dart pub publish --force |