Integrate with Pub Workspace (#15) #35
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: Generate Dart Documentation | |
on: | |
push: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git Setup | |
run: | | |
git config user.name "GitHub Actions Bot" | |
git config user.email "<>" | |
git branch --all | |
git switch --track origin/documentation | |
git reset --hard origin/main | |
- name: Install Dart | |
uses: dart-lang/setup-dart@v1 | |
# This package is part of a Pub Workspace. However, CI still needs to | |
# run on this repo by itself, so we want to override burt_network to use | |
# a Git dependency ONLY on GitHub Actions. | |
# | |
# To get around this, we commit the overrides to the .github folder where | |
# Dart can't find them, then copy them as part of the CI workflow. | |
- name: Install dependencies | |
run: | | |
mv .github/pubspec_overrides.yaml . | |
dart pub get | |
- name: Analyze Dart code | |
run: dart analyze --fatal-infos | |
- name: Output error | |
if: failure() | |
run: echo "::error The code or is missing documentation. Run flutter analyze --dartdocs" | |
- name: Generate documentation | |
run: dart doc --output=docs | |
- name: Commit and push files | |
run: | | |
cd docs | |
cd .. | |
git status | |
git stage --force docs | |
git commit -a -m "Generated documentation" | |
git push --force |