Skip to content
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

misc CI (excluding flaky tests) #98

Open
1 task
timotheecour opened this issue Apr 10, 2020 · 14 comments
Open
1 task

misc CI (excluding flaky tests) #98

timotheecour opened this issue Apr 10, 2020 · 14 comments
Labels

Comments

@timotheecour
Copy link
Owner

@timotheecour
Copy link
Owner Author

  • wrapper module files are not tested in CI

As a side note, I wanted to add some unit tests for this but apparently wrapper module files are not tested in CI :(
Fixes issues with dynamic loading OpenSSL. Fixes #13903. by dom96 · Pull Request #13919 · nim-lang/Nim : Fixes issues with dynamic loading OpenSSL. Fixes #13903. by dom96 · Pull Request #13919 · nim-lang/Nim

@timotheecour
Copy link
Owner Author

timotheecour commented Apr 11, 2020

=> moved to #167

@timotheecour
Copy link
Owner Author

timotheecour commented Apr 11, 2020

bisect bot triggered on github issues that contains a keyword + runnable code

see: automated bisection for github issues · Issue #8 · juancarlospaco/nimbug : automated bisection for github issues · Issue #8 · juancarlospaco/nimbug

links

on:
  issue_comment:
    types: [created, deleted]

on:
  issues:
    types: [opened, edited, milestoned]


name: deploy_to_channel_on_demand

on: issue_comment

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: logging
        run: echo "$GITHUB_REF"

links

@timotheecour
Copy link
Owner Author

avoid rebuilding csources => use choosenim or docker image or some fixed release tarball instead?

@timotheecour
Copy link
Owner Author

32bit linux VM: can't we use docker for that?

@timotheecour
Copy link
Owner Author

timotheecour commented Apr 12, 2020

docker based nim CI's eg https://github.com/nitely/nim-regex/blob/e6efb506662721656567f0dab236b1ea052d518f/.travis.yml#L2

services:
  - docker
env:
  - NIM=1.0.4
  - NIM=1.2.0
before_install:
  - docker pull nimlang/nim:$NIM
script:
  - docker run --rm -v `pwd`:/usr/src/app -w /usr/src/app nimlang/nim:$NIM /bin/bash -c "nimble install -y; nimble test"

@timotheecour
Copy link
Owner Author

important_pacakges:
auto-detect whether to set hasDeps=true or false depending on whether there are any requires by parsing nimble file.
(see nim-lang#13984 (comment))

@timotheecour
Copy link
Owner Author

does this run with cpp only in NIM_COMPILE_TO_CPP? etc

discard """
  target: "c cpp js"
"""

@timotheecour
Copy link
Owner Author

implement proc coverage, simpler than line or branch coverage; useful to see what's missing (or accidentally missing) in tests

@timotheecour timotheecour changed the title misc CI misc CI (excluding flaky tests) Apr 21, 2020
@timotheecour
Copy link
Owner Author

skip parts of CI based on commit msg

[Skip build if there's [skip ci] in the commit message. · Issue #858 · microsoft/azure-pipelines-agent](https://github.com/microsoft/azure-pipelines-agent/issues/858)

s there a way to get the git commit message so I can use it as condition?
This one is not working:
not(contains(variables['Build.SourceVersionMessage'], '[skip ci]'))

Build.SourceVersionMessage returns some commit id.

Are you sure? My condition work just fine.
See predefined variables where you can read on Build.SourceVersionMessage.

docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml

@timotheecour
Copy link
Owner Author

timotheecour commented Apr 25, 2020

  • D20200424T205650 automatically test for module imports for different targets, eg js, nims

links:

glob approach, similar to what I did in nim-lang#13221 ; this could work by adding a test inside tests/trunner.nim (fmt"{nim} js -r {autogenerated}") that would populate the list of all modules (via glob), and use a blacklist for things that don't work (instead of what you're doing which is a whitelist).

The point of a blacklist (instead of whitelist) is to keep working even if modules are added, removed, or moved.

Note that the same code could be reused (with a different blacklist exclusion) for other targets and/or compiler options, eg nimscript, --gc:arg etc

@timotheecour
Copy link
Owner Author

  • need to test VCC windows in CI

IIRC, ABI checks failed for VCC!

links

nim-lang#14149

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant