Skip to content

Merge pull request #3 from HirogaKatageri/dev #88

Merge pull request #3 from HirogaKatageri/dev

Merge pull request #3 from HirogaKatageri/dev #88

Workflow file for this run

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