SystemC #1393
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 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: Install software - Accellera SystemC | |
| run: tool/gh_actions/install_systemc.sh | |
| - name: Pre-build SystemC PCH and Makefile | |
| run: tool/gh_actions/setup_systemc_pch.sh | |
| - name: Run project tests | |
| run: tool/gh_actions/run_tests.sh | |
| - name: Run SystemC tests | |
| run: dart test test/systemc_vector_test.dart | |
| - name: Clean SystemC temporary files | |
| run: tool/gh_actions/cleanup_systemc_tmp.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_actions/run_tests.sh | |
| dart test test/systemc_vector_test.dart | |
| tool/gh_actions/cleanup_systemc_tmp.sh | |
| tool/gh_actions/check_tmp_test.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: 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.29.0 | |
| - name: Run Flutter Test | |
| run: tool/gh_actions/devtool/run_devtool_test.sh | |
| - name: Build Static Web | |
| run: tool/gh_actions/devtool/build_web.sh | |