-
Notifications
You must be signed in to change notification settings - Fork 88
140 lines (111 loc) · 3.9 KB
/
Copy pathgeneral.yml
File metadata and controls
140 lines (111 loc) · 3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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