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

ARM-based CI for Linux [ci skip] #16396

Closed
wants to merge 28 commits into from
Closed

Conversation

alaviss
Copy link
Collaborator

@alaviss alaviss commented Dec 18, 2020

Only a proof-of-concept atm.

Progress can be tracked here: https://cloud.drone.io/alaviss/Nim/

@alaviss alaviss changed the title ARM-based CI for Linux ARM-based CI for Linux [ci skip] Dec 18, 2020
@alaviss alaviss mentioned this pull request Mar 20, 2021
8 tasks
drone.yml Outdated
Comment on lines 17 to 19
- git clone --depth 1 https://github.com/nim-lang/csources.git
- export PATH=$PWD/bin:$PATH
- make -C csources -j$(nproc)
Copy link
Member

@timotheecour timotheecour May 17, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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
Copy link
Member

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?

Copy link
Collaborator Author

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.

alaviss added 22 commits May 18, 2021 14:40
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
@alaviss alaviss marked this pull request as ready for review May 18, 2021 19:52
@timotheecour
Copy link
Member

you're hitting the dreaded #17456 again; i've restarted osx CI for you

Arch = enum
arm64
arm

Copy link
Member

@timotheecour timotheecour May 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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;

Copy link
Collaborator Author

@alaviss alaviss May 18, 2021

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.

Copy link
Member

@timotheecour timotheecour May 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

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())
Copy link
Member

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?)

image

@stale
Copy link

stale bot commented May 31, 2022

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.

@stale stale bot added the stale Staled PR/issues; remove the label after fixing them label May 31, 2022
@stale stale bot closed this Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Staled PR/issues; remove the label after fixing them
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants