spack/lib/spack/docs/index.rst
Scott Wittenburg 8283d87f6a pipelines: spack ci command with env-based workflow (#12854)
Rework Spack's continuous integration workflow to be environment-based.

- Add the `spack ci` command, which replaces the many scripts in `bin/`

- `spack ci` decouples the CI workflow from the spack instance:
  - CI is defined in a spack environment
  - environment is in its own (single) git repository, separate from Spack
  - spack instance used to run the pipeline is up to the user
  - A new `gitlab-ci` section in environments allows users to configure how
    specs in the environment should be mapped to runners
  - Compilers can be bootstrapped in the new pipeline workflow

- Add extensive documentation on pipelines (see `pipelines.rst` for further details)
- Add extensive tests for pipeline code
2020-01-21 22:35:18 -08:00

102 lines
2.6 KiB
ReStructuredText

.. Copyright 2013-2020 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)
.. Spack documentation master file, created by
sphinx-quickstart on Mon Dec 9 15:32:41 2013.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
===================
Spack
===================
.. epigraph::
`These are docs for the Spack package manager. For sphere packing, see` `pyspack <https://pyspack.readthedocs.io>`_.
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
and environments. It was designed for large supercomputing centers,
where many users and application teams share common installations of
software on clusters with exotic architectures, using libraries that
do not have a standard ABI. Spack is non-destructive: installing a
new version does not break existing installations, so many
configurations can coexist on the same system.
Most importantly, Spack is *simple*. It offers a simple *spec* syntax
so that users can specify versions and configuration options
concisely. Spack is also simple for package authors: package files
are written in pure Python, and specs allow package authors to
maintain a single file for many different builds of the same package.
See the :doc:`features` for examples and highlights.
Get spack from the `github repository
<https://github.com/spack/spack>`_ and install your first
package:
.. code-block:: console
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
If you're new to spack and want to start using it, see :doc:`getting_started`,
or refer to the full manual below.
.. toctree::
:maxdepth: 2
:caption: Basics
features
getting_started
basic_usage
workflows
Tutorial: Spack 101 <https://spack-tutorial.readthedocs.io>
known_issues
.. toctree::
:maxdepth: 2
:caption: Reference
configuration
config_yaml
build_settings
environments
mirrors
module_file_support
repositories
binary_caches
command_index
package_list
chain
extensions
pipelines
.. toctree::
:maxdepth: 2
:caption: Contributing
contribution_guide
packaging_guide
build_systems
developer_guide
docker_for_developers
.. toctree::
:maxdepth: 2
:caption: API Docs
Spack API Docs <spack>
LLNL API Docs <llnl>
==================
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`