giordano / Cuba.jl

Library for multidimensional numerical integration with four independent algorithms: Vegas, Suave, Divonne, and Cuhre.
https://giordano.github.io/Cuba.jl/stable
MIT License
75 stars 9 forks source link

[CI] Move Aarch64 to Cirrus and add FreeBSD as well #41

Closed giordano closed 1 year ago

giordano commented 2 years ago

CC @ararslan

giordano commented 2 years ago

@ararslan aarch64 is failing with

cirrusjl build
/tmp/scripts9566c74d10037c4d7bbb0407d1e2c649.sh: line 5: cirrusjl: command not found
Exit status: 127
ararslan commented 2 years ago

Hm. Is the wget invocation incorrect maybe so sh -c isn't doing anything? The installation step in the Cirrus log should have a lot of output but it has nothing.

giordano commented 2 years ago

Looks like it doesn't have curl nor wget?

ararslan commented 2 years ago

I thought wget was always available on Linux. Even Alpine as it by default, so it's crazy to me that Ubuntu wouldn't...

giordano commented 2 years ago

It depends on what they put in the image. The standard Ubuntu installation should come with wget, but maybe they provide a stripped down environment?

ararslan commented 1 year ago

AFAIK (arm_)container: ubuntu:latest should be the official Ubuntu Docker image. According to one of the folks from Cirrus, the Cirrus Agent bootstraps itself in a very similar way as this. He specifically showed me the following code:

download_agent() {
    if [ -x "$(command -v wget)" ]; then
        echo "Trying to download regularly via wget"
        wget -t 0 "$agentUrl" -O $AGENT_LOCATION
    elif [ -x "$(command -v curl)" ]; then
        echo "Trying to download regularly via curl"
        curl --retry 10 --location "$agentUrl" -o $AGENT_LOCATION
    else
        exit 1
    fi
    chmod +x $AGENT_LOCATION
}

But I wonder if there's some fallback since the echoes there say "regularly." I guess they must also figure out how to download... irregularly.

ararslan commented 1 year ago

I think that if I can get https://github.com/ararslan/CirrusCI.jl/pull/14 fully functional in the way that I'm hoping, it will obviate the need for the checks on commands being available. Big if true, as they say.

giordano commented 1 year ago

@ararslan

-e �[0;34m[CIRRUSCI.JL]�[0m: Downloading Julia from https://julialangnightlies-s3.julialang.org/bin/linux/aarch64/julia-latest-linuxaarch64.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

https://github.com/JuliaLang/www.julialang.org/pull/1752 is probably relevant