-
-
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
ARM-based CI for Linux [ci skip] #16396
Conversation
drone.yml
Outdated
- git clone --depth 1 https://github.com/nim-lang/csources.git | ||
- export PATH=$PWD/bin:$PATH | ||
- make -C csources -j$(nproc) |
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.
- git clone --depth 1 https://github.com/nim-lang/csources.git | |
- export PATH=$PWD/bin:$PATH | |
- make -C csources -j$(nproc) | |
- . ci/funs.sh && nimBuildCsourcesIfNeeded | |
- export PATH=$PWD/bin:$PATH |
(updates to new csources)
ditto in the other places where git clone --depth 1 https://github.com/nim-lang/csources.git
is used
also, the more the CI's get refactored to share common code the better; ideally most of the logic would be in reusable "APIs" in ci/funs.sh
EDIT: see #18035 which refactors some more to further reduce duplication
drone.yml
Outdated
|
||
steps: | ||
- name: runci | ||
image: ghcr.io/alaviss/nim-ci:sha-1d368dc@sha256:b03ad81192e7e14dec4471b63a3d98c78ceada2e675d9075151193d972814b26 |
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.
can this be hosted in nim-lang/nimdockers (or some other repo), along with a Dockerfile so that it's reproducible from sources?
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.
It's already hosted at alaviss/nim-ci. I can move it to nim-lang, sure.
Drone Cloud doesn't do jsonnet atm.
Newer OpenSSL version now categorize 1024bit RSA as unsecure and deny usage with message: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small This commit increases key size to 2048bit RSA to fix the issue
ipv6 seems to be disabled in their VMs
ipv6 is not supported it appears
The new image includes dependencies for tgetprotobyname and ttimes.
The original intent was to use the jsonnet generator of drone, however this feature is not available on Drone Cloud
The one-liner doesn't seem to work with drone
you're hitting the dreaded #17456 again; i've restarted osx CI for you |
Arch = enum | ||
arm64 | ||
arm | ||
|
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.
result = fmt"# {doNotEdit}" |
(replace #
with whatever is recognized as comment marker for drone yml)
see how other pipelines use this so that ppl know where the generated code comes from and are not tempted to edit the generated code directly;
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.
If you notice the latest commit, I had to remove it. It doesn't seem to play well with drone yaml.
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.
-
well the last commit also adds
nim c koch
so it's unclear it's due to that comment? -
where can i see CI logs? if i click on links inside https://cloud.drone.io/alaviss/Nim/ it shows 404's
-
how about using yaml syntax instead of json, since our other pipelines use yaml and it's arguably more readable; eg see https://github.com/hbokh/docker-drone-builder/blob/master/.drone.yml (which btw also contains
#
for comments), or pretty much most drone.yml files one can find on github -
should it be drone.yml or .drone.yml ? (i honestly don't know)
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.
where can i see CI logs? if i click on links inside https://cloud.drone.io/alaviss/Nim/ it shows 404's
Hmm, not sure, it used to work without logging in.
how about using yaml syntax instead of json, since our other pipelines use yaml and it's arguably more readable; eg see https://github.com/hbokh/docker-drone-builder/blob/master/.drone.yml (which btw also contains # for comments), or pretty much most drone.yml files one can find on github
It's easier to build with json, that's all. And the code is not even that complicated...
should it be drone.yml or .drone.yml ? (i honestly don't know)
we can name it whatever, you get to set it on repository setup
@@ -140,6 +185,7 @@ packages: | |||
writeFile("build_all.sh", genPosixScript()) | |||
writeFile("build_all.bat", genWindowsScript(buildAll = true)) | |||
writeFile("ci/build_autogen.bat", genWindowsScript(buildAll = false)) | |||
writeFile("drone.yml", genDroneScript()) |
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.
shouldn't that be .drone.yml? (IIRC that's what's commonly used, and the default)
I've enabled drone for nim-lang/nim, see https://cloud.drone.io/nim-lang/Nim/settings
(and assumes .drone.yml, was was the default, although we could configure it but not sure it'd work for forks unless the fork also sets this?)
This pull request has been automatically marked as stale because it has not had recent activity. If you think it is still a valid PR, please rebase it on the latest devel; otherwise it will be closed. Thank you for your contributions. |
Only a proof-of-concept atm.
Progress can be tracked here: https://cloud.drone.io/alaviss/Nim/