-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
faster CIs #13803
faster CIs #13803
Changes from all commits
13b5eb5
14704b1
7dfc8c7
20ae86f
ba249db
9181c84
0158da4
e487722
f26c66e
e147a96
e373459
e65ecc1
3771d34
8467491
b4cf51f
6b9fbbf
df5bfaf
cb52259
7c348f3
9b54ea8
3ad1343
059333f
cab3873
bc4856b
bb9d348
889362a
f7a237c
b6f3600
b1a9231
71a9f83
9030c2c
314799c
ed273f5
739ba42
f42f6c0
40e670f
ecb737a
7e79e9d
5b5a250
47e9eca
a60cc28
b96f74e
226098c
e8b507a
9593cd9
fcca062
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Nim Docs CI | ||
on: | ||
pull_request: | ||
# Run only on changes on these files | ||
paths: | ||
- 'lib/*.nim' | ||
- 'doc/*.rst' | ||
|
||
jobs: | ||
build: | ||
name: 'Docs builder' | ||
runs-on: ubuntu-18.04 | ||
steps: | ||
- name: 'Checkout' | ||
uses: actions/checkout@v2 | ||
|
||
- name: 'Checkout csources' | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: nim-lang/csources | ||
path: csources | ||
|
||
- name: 'Add build binaries to PATH' | ||
shell: bash | ||
run: echo "::add-path::${{ github.workspace }}/bin" | ||
|
||
- name: 'Build 1-stage compiler from csources' | ||
shell: bash | ||
run: | | ||
ncpu=$(nproc) | ||
[[ -z "$ncpu" || $ncpu -le 0 ]] && ncpu=1 | ||
|
||
make -C csources -j $ncpu CC=gcc ucpu='amd64' | ||
|
||
- name: 'Build koch' | ||
shell: bash | ||
run: nim c koch | ||
|
||
- name: 'Build the real compiler' | ||
shell: bash | ||
run: ./koch boot | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why not There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
|
||
- name: 'Build documentation' | ||
shell: bash | ||
run: ./koch doc |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -481,10 +481,6 @@ proc runCI(cmd: string) = | |
doAssert cmd.len == 0, cmd # avoid silently ignoring | ||
echo "runCI: ", cmd | ||
echo hostInfo() | ||
# note(@araq): Do not replace these commands with direct calls (eg boot()) | ||
# as that would weaken our testing efforts. | ||
when defined(posix): # appveyor (on windows) didn't run this | ||
kochExecFold("Boot", "boot") | ||
# boot without -d:nimHasLibFFI to make sure this still works | ||
kochExecFold("Boot in release mode", "boot -d:release") | ||
|
||
|
@@ -494,7 +490,7 @@ proc runCI(cmd: string) = | |
if getEnv("NIM_TEST_PACKAGES", "false") == "true": | ||
execFold("Test selected Nimble packages", "nim c -r testament/testament cat nimble-packages") | ||
else: | ||
buildTools() # altenatively, kochExec "tools --toolsNoNimble" | ||
buildTools() | ||
|
||
## run tests | ||
execFold("Test nimscript", "nim e tests/test_nimscript.nims") | ||
|
@@ -504,7 +500,7 @@ proc runCI(cmd: string) = | |
|
||
# main bottleneck here | ||
execFold("Run tester", "nim c -r -d:nimCoroutines testament/testament --pedantic all -d:nimCoroutines") | ||
block: # CT FFI | ||
block CT_FFI: | ||
when defined(posix): # windows can be handled in future PR's | ||
execFold("nimble install -y libffi", "nimble install -y libffi") | ||
const nimFFI = "./bin/nim.ctffi" | ||
|
@@ -517,15 +513,6 @@ proc runCI(cmd: string) = | |
when defined(posix): | ||
execFold("Run nimsuggest tests", "nim c -r nimsuggest/tester") | ||
|
||
## remaining actions | ||
when defined(posix): | ||
kochExecFold("Docs", "docs --git.commit:devel") | ||
kochExecFold("C sources", "csource") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are we sure nightlies doesn't rely on this command? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nightlies don't use |
||
elif defined(windows): | ||
when false: | ||
kochExec "csource" | ||
kochExec "zip" | ||
|
||
proc pushCsources() = | ||
if not dirExists("../csources/.git"): | ||
quit "[Error] no csources git repository found" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -169,16 +169,8 @@ proc dllTests(r: var TResults, cat: Category, options: string) = | |
# ------------------------------ GC tests ------------------------------------- | ||
|
||
proc gcTests(r: var TResults, cat: Category, options: string) = | ||
template testWithNone(filename: untyped) = | ||
testSpec r, makeTest("tests/gc" / filename, options & | ||
" --gc:none", cat) | ||
testSpec r, makeTest("tests/gc" / filename, options & | ||
" -d:release --gc:none", cat) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. --gc:none is now not being tested at all here despite what the commit msg There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't understand your comment. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe i misread your commit message but regardless, after your PR, There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. --gc:arc is replacing it an also because |
||
|
||
template testWithoutMs(filename: untyped) = | ||
testSpec r, makeTest("tests/gc" / filename, options, cat) | ||
testSpec r, makeTest("tests/gc" / filename, options & | ||
" -d:release", cat) | ||
testSpec r, makeTest("tests/gc" / filename, options & | ||
" -d:release -d:useRealtimeGC", cat) | ||
when filename != "gctest": | ||
|
@@ -193,6 +185,7 @@ proc gcTests(r: var TResults, cat: Category, options: string) = | |
" --gc:markAndSweep", cat) | ||
testSpec r, makeTest("tests/gc" / filename, options & | ||
" -d:release --gc:markAndSweep", cat) | ||
|
||
template test(filename: untyped) = | ||
testWithoutBoehm filename | ||
when not defined(windows) and not defined(android): | ||
|
@@ -210,7 +203,6 @@ proc gcTests(r: var TResults, cat: Category, options: string) = | |
test "gcleak" | ||
test "gcleak2" | ||
testWithoutBoehm "gctest" | ||
testWithNone "gctest" | ||
test "gcleak3" | ||
test "gcleak4" | ||
# Disabled because it works and takes too long to run: | ||
|
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,4 +12,4 @@ proc main() = | |
|
||
doAssert counter <= 4 | ||
|
||
for i in 0 .. 10: main() | ||
for i in 0 .. 4: main() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@narimiran should that' be lib/**/*.nim?
https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
ditto below
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already fixed in #13809