diff --git a/.github/workflows/pub-publish.yml b/.github/workflows/pub-publish.yml new file mode 100644 index 0000000..02f54a3 --- /dev/null +++ b/.github/workflows/pub-publish.yml @@ -0,0 +1,36 @@ +name: Publish to pub.dev + +## Caller of this workflow should use it as follows: +## jobs: +## publish: +## uses: dart-lang/setup-dart/.github/workflows/pub-publish.yml +## # with: +## # working-directory: path/to/sub/directory + +on: + workflow_call: + inputs: + working-directory: + required: false + type: string + +jobs: + pub-publish: + permissions: + id-token: write # This is required for requesting the JWT + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dart-lang/setup-dart + - name: Install dependencies + run: dart pub get + working-directory: ${{ inputs.working-directory }} + - name: Analyze + run: dart analyze + working-directory: ${{ inputs.working-directory }} + - name: Publish - dry run + run: dart pub publish --dry-run + working-directory: ${{ inputs.working-directory }} + - name: Publish to pub.dev + run: dart pub publish -f + working-directory: ${{ inputs.working-directory }}