forked from intel/rohd
-
Notifications
You must be signed in to change notification settings - Fork 14
140 lines (113 loc) · 3.88 KB
/
general.yml
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
name: General
on:
push:
branches:
- main
pull_request:
branches:
- main
# Top-level default, no permissions
permissions: {}
jobs:
run-checks:
name: Run Checks
permissions: {}
timeout-minutes: 30
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3
- 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: 20
- 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: Check project documentation
run: tool/gh_actions/check_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 folder - tmp_test
run: tool/gh_actions/check_folder_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
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: ubuntu-22.04
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
permissions:
contents: write
pull-requests: write
timeout-minutes: 30
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Setup Flutter SDK
uses: flutter-actions/setup-flutter@v2
with:
channel: beta
version: 3.18.0-0.2.pre
- 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
# 1. checkout to branch artifacts
# 2. Do not ignore build/ folder (just for artifacts branch)
# 3. Commit everythings including the build/ folder
# 4. Push the new branch artifacts
- name: Create artifact branch and push changes
run: |
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git checkout -b artifacts
git pull origin main
sed -i '/build\//d' .gitignore # Remove the line that ignores the build directory
git add .
git commit -m "Add build artifacts and modify .gitignore"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: artifacts