Merge pull request #3 from HirogaKatageri/dev #88
This file contains 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: ci | |
on: | |
push: | |
branches: [dev] | |
paths-ignore: | |
- 'example/*' | |
- '**.md' | |
- '**.txt' | |
concurrency: | |
# subsequently queued workflow run will interrupt previous runs | |
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
jobs: | |
release-flag: | |
if: contains(github.event.head_commit.message, '!!release') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
master-flag: | |
if: contains(github.event.head_commit.message, '!!master') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
test: | |
timeout-minutes: 9 | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
platform: [vm, node] | |
sdk: [2.18.0, stable] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dart-lang/[email protected] | |
with: | |
sdk: ${{ matrix.sdk }} | |
- name: Install dependencies | |
run: dart pub get | |
- name: Run tests | |
run: dart test --platform ${{ matrix.platform }} | |
analyze: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dart-lang/[email protected] | |
- name: Install dependencies | |
run: dart pub get | |
- name: Analyze | |
run: dart analyze --fatal-infos | |
- name: Publish (dry run) | |
run: dart pub publish --dry-run | |
to-staging: | |
needs: [test, analyze] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- name: Merge current -> staging | |
uses: devmasx/[email protected] | |
with: | |
type: now | |
target_branch: staging | |
github_token: ${{ github.token }} | |
to-master: | |
needs: [to-staging, master-flag] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
# UPDATE MASTER BRANCH | |
- name: Merge to master branch | |
uses: devmasx/[email protected] | |
with: | |
type: now | |
target_branch: master | |
github_token: ${{ github.token }} | |
# ADD GITHUB RELEASE | |
- name: Get version from pubspec.yaml | |
run: echo "PKGVER=$(sed -n "s/version://p" pubspec.yaml | xargs)" >> $GITHUB_ENV | |
- name: Publish GitHub release | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ env.PKGVER }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
to-pubdev: | |
needs: [to-master, release-flag] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dart-lang/[email protected] | |
- name: Install dependencies | |
run: dart pub get | |
- name: Format | |
run: dart format . | |
- name: Test formatted | |
run: dart test | |
- name: Analyze formatted | |
run: dart analyze --fatal-infos | |
- name: Setup credentials | |
# data from cat ~/.pub-cache/credentials.json | |
run: | | |
mkdir -p ~/.pub-cache | |
cat <<EOF > ~/.pub-cache/credentials.json | |
{ | |
"accessToken":"${{ secrets.PUBDEV_ACCESS_TOKEN }}", | |
"refreshToken":"${{ secrets.PUBDEV_REFRESH_TOKEN }}", | |
"tokenEndpoint":"https://accounts.google.com/o/oauth2/token", | |
"scopes": [ "openid", "https://www.googleapis.com/auth/userinfo.email" ], | |
"expiration": 1570721159347 | |
} | |
EOF | |
- name: Publish package | |
run: dart pub publish --force |