Pub workspace #1636
Workflow file for this run
This file contains hidden or 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: General | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| # Top-level default, no permissions | |
| permissions: {} | |
| jobs: | |
| run-checks: | |
| name: Run Checks | |
| permissions: {} | |
| timeout-minutes: 60 | |
| runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Lint Markdown files | |
| uses: DavidAnson/markdownlint-cli2-action@v11 | |
| with: | |
| globs: '**/*.md' | |
| - name: Check Markdown links | |
| uses: gaurav-nelson/github-action-markdown-link-check@v1 | |
| with: | |
| use-quiet-mode: yes # output is too noisy, see https://github.com/gaurav-nelson/github-action-markdown-link-check/issues/121 | |
| config-file: .github/configs/mlc_config.json | |
| - name: Setup Dart | |
| uses: dart-lang/setup-dart@v1 | |
| - name: Setup Flutter | |
| uses: flutter-actions/setup-flutter@v2 | |
| with: | |
| channel: stable | |
| version: 3.47.0 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - name: Setup Pana source analysis | |
| run: tool/gh_actions/install_pana.sh | |
| - name: Install project dependencies | |
| run: tool/gh_actions/install_dependencies.sh | |
| - name: Verify project formatting | |
| run: tool/gh_actions/verify_formatting.sh | |
| - name: Analyze project source | |
| run: tool/gh_actions/analyze_source.sh | |
| - name: Run Pana on project source | |
| run: tool/gh_actions/pana_source.sh | |
| - name: Check project documentation | |
| run: tool/gh_actions/generate_documentation.sh | |
| - name: Install software - Icarus Verilog | |
| run: tool/gh_actions/install_iverilog.sh | |
| - name: Run project tests | |
| run: tool/gh_actions/run_tests.sh | |
| - name: Check temporary test files | |
| run: tool/gh_actions/check_tmp_test.sh | |
| # https://github.com/devcontainers/ci/blob/main/docs/github-action.md | |
| - name: Build dev container and run tests in it | |
| uses: devcontainers/ci@v0.3 | |
| with: | |
| runCmd: >- | |
| tool/gh_codespaces/install_flutter.sh && | |
| tool/gh_actions/run_tests.sh | |
| deploy-documentation: | |
| name: Deploy Documentation | |
| needs: run-checks | |
| if: github.event_name == 'push' | |
| permissions: | |
| contents: write # required for "JamesIves/github-pages-deploy-action" | |
| timeout-minutes: 30 | |
| runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Dart | |
| uses: dart-lang/setup-dart@v1 | |
| - name: Setup Flutter | |
| uses: flutter-actions/setup-flutter@v2 | |
| with: | |
| channel: stable | |
| version: 3.47.0 | |
| - name: Install project dependencies | |
| run: tool/gh_actions/install_dependencies.sh | |
| - name: Generate project documentation | |
| run: tool/gh_actions/generate_documentation.sh | |
| - name: Deploy generated documentation | |
| uses: JamesIves/github-pages-deploy-action@v4 | |
| with: | |
| folder: doc/api | |
| branch: docs | |
| build-devtool: | |
| name: Build Devtools | |
| timeout-minutes: 30 | |
| runs-on: ${{ github.repository_owner == 'intel' && 'intel-ubuntu-latest' || 'ubuntu-latest' }} | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Setup Flutter SDK | |
| uses: flutter-actions/setup-flutter@v2 | |
| with: | |
| channel: stable | |
| version: 3.47.0 | |
| - name: Install project dependencies | |
| run: tool/gh_actions/install_dependencies.sh | |
| - name: Run Flutter Test | |
| run: tool/gh_actions/devtool/run_devtool_test.sh | |
| - name: Build Static Web | |
| run: tool/gh_actions/devtool/install_devtools.sh | |
| - name: Test DevTools Installation | |
| run: tool/gh_actions/devtool/test_devtools_install.sh extension/devtools |