developer tools stack try 2 (#40921)

* developer tools stack try 2

This version is actually in use locally and has largely stabilized, at
least on x86.  Some packages are still a challenge on ppc64le, but maybe
worth keeping this working as a set.

* add packages, try to get container with newer gcc

* remove reuse: true

* try to get cmake to build on medium, 25 minutes is too long

* add lsd package and add to dev tools stack

* clean up fzf dependency and sorting

* Update share/spack/gitlab/cloud_pipelines/stacks/developer_tools/spack.yaml

* cuda: add 12.3.0 (#40827)

* Switch to dashes

* yet more underscores

---------

Co-authored-by: Paul R. C. Kent <kentpr@ornl.gov>
This commit is contained in:
Tom Scogland 2023-11-30 10:32:21 -08:00 committed by GitHub
parent d436e97fc6
commit dd607d11d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 113 additions and 1 deletions

View file

@ -461,6 +461,28 @@ build_systems-build:
- artifacts: True
job: build_systems-generate
###########################################
# Build tests for different developer tools
###########################################
.developer-tools:
extends: [ ".linux_x86_64_v3" ]
variables:
SPACK_CI_STACK_NAME: developer-tools
developer-tools-generate:
extends: [ ".developer-tools", ".generate-x86_64"]
developer-tools-build:
extends: [ ".developer-tools", ".build" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: developer-tools-generate
strategy: depend
needs:
- artifacts: True
job: developer-tools-generate
#########################################
# RADIUSS
#########################################

View file

@ -193,7 +193,6 @@ ci:
- blt
- bzip2
- camp
- cmake
- curl
- czmq
- darshan-util

View file

@ -0,0 +1,69 @@
spack:
view: false
packages:
all:
require: target=x86_64_v3
concretizer:
unify: true
definitions:
- default_specs:
# editors
- neovim~no_luajit
- py-pynvim
- emacs@29.1+json+native+treesitter # note, pulls in gcc
# - tree-sitter is a dep, should also have cli but no package
- nano # just in case
# tags and scope search helpers
- universal-ctags # only maintained ctags, works better with c++
- direnv
# runtimes and compilers
- python
- llvm+link_llvm_dylib~lld~lldb~polly+python build_type=MinSizeRel # for clangd, clang-format
- node-js # for editor plugins etc., pyright language server
- npm
- go # to build fzf, gh, hub
- rust+analysis # fd, ripgrep, hyperfine, exa, rust-analyzer
- binutils+ld+gold+plugins # support linking with built gcc
# styling and lints
- astyle
- cppcheck
- uncrustify
- py-fprettify
- py-fortran-language-server
- py-python-lsp-server
# cli dev tools
- ripgrep
- gh
- fd
- bfs
- fzf
- tree
- jq
- py-yq
- hub
- ncdu
- eza
- lsd
- hyperfine
- htop
- tmux
- ccache
# ensure we can use a jobserver build and do this fast
- gmake
- ninja # should be @kitware, can't be because of meson requirement
- "openssl certs=system" # must be this, system external does not work
- arch:
- '%gcc target=x86_64_v3'
specs:
- matrix:
- - $default_specs
- - $arch
ci:
pipeline-gen:
- build-job:
image: "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01"
cdash:
build-group: Developer Tools

View file

@ -0,0 +1,22 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Lsd(CargoPackage):
"""A rewrite of GNU ls with lots of added features like colors, icons, tree-view,
more formatting options etc."""
homepage = "https://github.com/lsd-rs/lsd"
url = "https://github.com/lsd-rs/lsd/archive/refs/tags/v1.0.0.tar.gz"
maintainers("trws")
license("Apache-2.0")
version("1.0.0", sha256="ab34e9c85bc77cfa42b43bfb54414200433a37419f3b1947d0e8cfbb4b7a6325")
depends_on("rust@1.63:")