Check PR #710
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: Check PR | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
schedule: | |
- cron: "0 0 * * 0" | |
jobs: | |
# verify_commits: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Conventional PRs | |
# uses: Namchee/[email protected] | |
# with: | |
# access_token: ${{ secrets.GITHUB_TOKEN }} | |
# issue: false | |
# verified_commits: true | |
# close: false | |
# report: false | |
check-release: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: stable | |
- name: Activate melos | |
run: | | |
dart pub get | |
dart pub global activate melos | |
- name: Validate publish | |
run: melos publish --dry-run --yes | tee ./out | |
- name: Test if changed | |
run: | | |
if grep -q "The following packages will be validated only" out; then | |
PACKAGES=$(cat out | grep -E "Publishing [a-z]" | sed -E 's/Publishing ([a-z_]+).+/\1/g') | |
for package in $PACKAGES; do | |
melos exec --scope="$package" -- "dart pub get" | |
melos exec --scope="$package" -- "dart analyze --fatal-infos ." | |
melos exec --scope="$package" --dir-exists=test -- "dart test" | |
done | |
else | |
echo "Packages will not be published. Skipping tests." | |
fi | |
analyze: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
channel: | |
- beta | |
- stable | |
# - dev | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: ${{ matrix.channel }} | |
- name: Activate melos | |
run: | | |
dart pub get | |
dart pub global activate melos | |
- name: Bootstrap melos | |
run: melos bs | |
- name: Analyze package | |
run: melos run analyze --no-select | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
channel: | |
- beta | |
- stable | |
# - dev | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: ${{ matrix.channel }} | |
- name: Activate melos | |
run: | | |
dart pub get | |
dart pub global activate melos | |
- name: Bootstrap melos | |
run: melos bs | |
- name: Build dart | |
run: melos run build_dart --no-select | |
- name: Build fluter | |
run: melos run build_flutter --no-select | |
- name: Bootstrap melos | |
run: melos bs | |
- name: Check if changed | |
run: git diff --exit-code ':!**/pubspec.lock' | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
channel: | |
- beta | |
- stable | |
# - dev | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: ${{ matrix.channel }} | |
- name: Activate melos | |
run: | | |
dart pub get | |
dart pub global activate melos | |
- name: Bootstrap melos | |
run: melos bs | |
- name: Run tests dart | |
run: melos run test_dart --no-select | |
- name: Run tests flutter | |
run: melos run test_flutter --no-select |