blob: 3fb6f6f9ad13f0640f1b82c73fd860197bd921f1 [file] [log] [blame]
# A CI configuration to auto-publish pub packages from dart-lang/ecosystem.
# We don't use the regular publish.yaml script here in order to dogfood the
# publishing code at head.
name: Publish
on:
pull_request:
branches: [ main ]
types: [opened, synchronize, reopened, labeled, unlabeled]
push:
tags: [ '[A-z]+-v[0-9]+.[0-9]+.[0-9]+' ]
env:
use-flutter: false
jobs:
publish:
if: github.repository_owner == 'dart-lang'
# These permissions are required for authentication using OIDC and to enable
# us to create comments on PRs.
permissions:
id-token: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
- name: Pub get
working-directory: pkgs/firehose
run: dart pub get
- name: Validate packages
if: ${{ github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_NUMBER: ${{ github.event.number }}
PR_LABELS: "${{ join(github.event.pull_request.labels.*.name) }}"
run: dart pkgs/firehose/bin/firehose.dart --validate ${{ fromJSON('{"true":"--use-flutter","false":"--no-use-flutter"}')[env.use-flutter] }}
- name: Save PR number
run: |
mkdir -p output/ && echo ${{ github.event.number }} > output/issueNumber
- name: Upload folder with number and markdown
uses: actions/upload-artifact@65d862660abb392b8c4a3d1195a2108db131dd05
with:
name: output
path: output/
- name: Publish tagged package
if: ${{ github.event_name == 'push' }}
run: dart pkgs/firehose/bin/firehose.dart --publish ${{ fromJSON('{"true":"--use-flutter","false":"--no-use-flutter"}')[env.use-flutter] }}