mirror of https://github.com/AMT-Cheif/drift.git
110 lines
3.2 KiB
YAML
110 lines
3.2 KiB
YAML
name: Publish to pub.dev
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'drift-[0-9]+.[0-9]+.[0-9]+*'
|
|
- 'drift_dev-[0-9]+.[0-9]+.[0-9]+*'
|
|
- 'sqlparser-[0-9]+.[0-9]+.[0-9]+*'
|
|
- 'drift_postgres-[0-9]+.[0-9]+.[0-9]+*'
|
|
|
|
jobs:
|
|
setup:
|
|
uses: ./.github/workflows/setup.yml
|
|
|
|
publish_drift:
|
|
if: "${{ startsWith(github.ref_name, 'drift-') }}"
|
|
needs: [setup]
|
|
runs-on: ubuntu-latest
|
|
environment: pub.dev
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
# We need to build the DevTools extension, which is written in Flutter
|
|
- uses: subosito/flutter-action@v2
|
|
with:
|
|
channel: 'stable'
|
|
- uses: actions/cache@v3
|
|
with:
|
|
path: "${{ env.PUB_CACHE }}"
|
|
key: dart-dependencies-${{ needs.setup.outputs.dart_version }}-${{ hashFiles('**/pubspec.yaml') }}
|
|
restore-keys: |
|
|
dart-dependencies-${{ needs.setup.outputs.dart_version }}-
|
|
dart-dependencies-
|
|
- name: Setup dependencies
|
|
run: |
|
|
dart pub global activate melos
|
|
dart pub get
|
|
melos bootstrap
|
|
shell: bash
|
|
- name: Build DevTools extension
|
|
working-directory: extras/drift_devtools_extension
|
|
run: ./build.sh
|
|
|
|
- run: dart pub lish --dry-run
|
|
working-directory: drift
|
|
- run: dart pub lish -f
|
|
working-directory: drift
|
|
|
|
publish_drift_dev:
|
|
if: "${{ startsWith(github.ref_name, 'drift_dev-') }}"
|
|
needs: [setup]
|
|
runs-on: ubuntu-latest
|
|
environment: pub.dev
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
defaults:
|
|
run:
|
|
working-directory: drift_dev
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ./.github/actions/prepare
|
|
with:
|
|
dart_version: ${{ needs.setup.outputs.dart_version }}
|
|
- run: melos bootstrap --scope drift_dev
|
|
working-directory: .
|
|
- run: dart pub lish --dry-run
|
|
- run: dart pub lish -f
|
|
|
|
|
|
# Published versions of sqlparser are tagged with `sqlparser-<version>`
|
|
publish_sqlparser:
|
|
if: "${{ startsWith(github.ref_name, 'sqlparser-') }}"
|
|
needs: [setup]
|
|
runs-on: ubuntu-latest
|
|
environment: pub.dev
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
defaults:
|
|
run:
|
|
working-directory: sqlparser
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ./.github/actions/prepare
|
|
with:
|
|
dart_version: ${{ needs.setup.outputs.dart_version }}
|
|
- run: dart pub get
|
|
- run: dart pub lish --dry-run
|
|
- run: dart pub lish -f
|
|
|
|
publish_drift_postgres:
|
|
if: "${{ startsWith(github.ref_name, 'drift_postgres-') }}"
|
|
needs: [setup]
|
|
runs-on: ubuntu-latest
|
|
environment: pub.dev
|
|
permissions:
|
|
id-token: write # Required for authentication using OIDC
|
|
defaults:
|
|
run:
|
|
working-directory: extras/drift_postgres
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ./.github/actions/prepare
|
|
with:
|
|
dart_version: ${{ needs.setup.outputs.dart_version }}
|
|
- run: dart pub get
|
|
- run: dart pub lish --dry-run
|
|
- run: dart pub lish -f
|