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

Work on gitlab ci (used for release artifacts) #8044

Open
2 of 3 tasks
jneira opened this issue Mar 14, 2022 · 11 comments
Open
2 of 3 tasks

Work on gitlab ci (used for release artifacts) #8044

jneira opened this issue Mar 14, 2022 · 11 comments

Comments

@jneira
Copy link
Member

jneira commented Mar 14, 2022

So i think before the release we should

  • fix failing builds (it will need update ci config)
  • refactor ci config to make it as simple as possible (removing nix config f.e.)
  • run the test suite in as many archs as possible, without blocking the release

//cc @Mikolaj @hasufell @gbaz

@Mikolaj
Copy link
Member

Mikolaj commented Mar 14, 2022

Certainly.

@hasufell
Copy link
Member

x86_64-freebsd13: https://gitlab.haskell.org/haskell/cabal/-/jobs/969254

x86_64-freebsd12 should be enough

aarch64-darwin: https://gitlab.haskell.org/haskell/cabal/-/jobs/969257

Yeah, because nix is sh*te. That's why ghcup and HLS now use brew instead. You can adapt cabals gitlab config by reading:

Make sure the env vars are set correctly like above, otherwise brew will leak artifacts into the host system, which will upset angerman.

@jneira jneira changed the title Work around gitlab ci (used for release artifacts) Work on gitlab ci (used for release artifacts) Mar 15, 2022
@jneira
Copy link
Member Author

jneira commented Mar 16, 2022

@hasufell many thanks for the info, will try to not bother ghc team 😉

I've checked the hls config has no longer the windows ghcup bootstrapping:

cabal/.gitlab-ci.yml

Lines 146 to 154 in 906a8bc

script:
- Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $false, $true, $true, $false, $false, $false, $false, "$CI_PROJECT_DIR"
- ./ghcup/msys64/usr/bin/bash '-lc' 'pacman --noconfirm -S zip'
- $env:CHERE_INVOKING = "yes"
- ./ghcup/msys64/usr/bin/bash '-lc' "TARBALL_ARCHIVE_SUFFIX=$env:TARBALL_ARCHIVE_SUFFIX TARBALL_EXT=$env:TARBALL_EXT ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
after_script:
- "[Environment]::SetEnvironmentVariable('GHCUP_INSTALL_BASE_PREFIX', $null, [System.EnvironmentVariableTarget]::User)"
- "[Environment]::SetEnvironmentVariable('GHCUP_MSYS2', $null, [System.EnvironmentVariableTarget]::User)"
- "[Environment]::SetEnvironmentVariable('CABAL_DIR', $null, [System.EnvironmentVariableTarget]::User)"

maybe it would not be necessary here neither?

@jneira
Copy link
Member Author

jneira commented Mar 16, 2022

@jneira
Copy link
Member Author

jneira commented Mar 16, 2022

I've started to work on this, pushing cheching tags to my gitlab cabal repo:

it looks promising but aarch64-linux-deb10 is failing with a weird error:

Getting source from Git repository 00:05
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/jneira/cabal/.git/
fatal: unable to access 'https://gitlab.haskell.org/jneira/cabal.git/': Could not resolve host: gitlab.haskell.org

@hasufell
Copy link
Member

I've started to work on this, pushing cheching tags to my gitlab cabal repo:

it looks promising but aarch64-linux-deb10 is failing with a weird error:

Getting source from Git repository 00:05
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/jneira/cabal/.git/
fatal: unable to access 'https://gitlab.haskell.org/jneira/cabal.git/': Could not resolve host: gitlab.haskell.org

Yes angerman's runners have some network issues afair.

@jneira
Copy link
Member Author

jneira commented Mar 16, 2022

ok with #8051 merged we have the CI green
my plan is add testing using validate.sh (like GH workflow does) so I would wait for #8045, which makes the script work for windows

@ulysses4ever
Copy link
Collaborator

@jneira do you think anything else can be done for this or should it be closed?

@jneira
Copy link
Member Author

jneira commented Sep 16, 2022

@ulysses4ever thanks for the ping, hmm the unchecked box in the description is still relevant imo

@Mikolaj
Copy link
Member

Mikolaj commented Feb 23, 2023

Just noting here that @chreekat prodded the CI and the CI snapped into attention and there's substantial hope cabal 3.10 binary release is not going to be derailed. However, this a limited effort, only for releasing, so a test suite is out of scope.

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

No branches or pull requests

4 participants