Skip to content

ISC26: update the basics section#535

Merged
alecbcs merged 27 commits into
mainfrom
isc26/basics-update
Jun 19, 2026
Merged

ISC26: update the basics section#535
alecbcs merged 27 commits into
mainfrom
isc26/basics-update

Conversation

@alalazo

@alalazo alalazo commented Jun 16, 2026

Copy link
Copy Markdown
Member

This section has been reorganized, so that concepts are introduced in order rather than interleaved.

Structural changes:

  • Intro starts with a few fundamental ideas, that are illustrated in the rest of the tutorial
  • "The Spec Syntax" section consolidates all spec coverage into ordered subsections that build up one sigil at a time:
    1. Compiler flags are treated as an aside, instead of a central piece of the tutorial
    2. spack help --spec is the last subsection here
    3. Doesn't show spack find to avoid back and forth
  • "Querying Installations" section gathers all spack find usage (including the former "Advanced spack find Usage") in one place.
  • "A Realistic Example" section frames the Trilinos install

Content changes:

  • The content has been updated for Spack v1.2 and Ubuntu 26.04.
  • Doesn't show cflags= but shows +ipo and build_type=Debug instead in the Variants subsection.
  • Doesn't show virtual versioning (no mention of mpi@3).
  • Removed excessively long output - in particular spack graph for trilinos.

The output was generated using:

docker pull ghcr.io/alalazo/tutorial-buildcache:isc26@sha256:366369319e0ddee78cf9c727ba8004e7aff4e38068ba4f2ee532c2bceec9168d

(see #536 for how that image was built) and editing the Makefile locally to point to that container image.

@alalazo
alalazo marked this pull request as ready for review June 17, 2026 13:11
haampie pushed a commit to spack/spack-packages that referenced this pull request Jun 17, 2026
This follows from spack/spack-tutorial#535

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

@kshea21 kshea21 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Overall I really like what you did with this section! I just left some comments on language preferences, but nothing stood out that needs to change conceptually.

Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
Comment thread tutorial_basics.rst Outdated
A Realistic Example
-------------------

Now that we know the spec syntax and how to query installations, let's put them to work on a realistic package.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Maybe knit-picking, but I don't think I like the term "realistic" here, all of the other examples were realistic installations someone could do as well

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Let me know if this seems better:
8f70bdf

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@kshea21 is on vacation today. Edits look good to me.

Comment thread tutorial_basics.rst Outdated
@alalazo

alalazo commented Jun 19, 2026

Copy link
Copy Markdown
Member Author

Thanks for the review @kshea21 ! I addressed the comments and went ahead closing the ones I "just accepted".

alalazo and others added 2 commits June 19, 2026 11:40
Signed-off-by: Alec Scott <alec@llnl.gov>
Signed-off-by: Alec Scott <alec@llnl.gov>

@alecbcs alecbcs left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Changes look good to me. Thank you @alalazo for the in-depth review and rewrite.

@alecbcs
alecbcs merged commit 94b0d95 into main Jun 19, 2026
5 checks passed
@alecbcs
alecbcs deleted the isc26/basics-update branch June 19, 2026 18:48
alecbcs added a commit that referenced this pull request Jul 21, 2026
* ISC26: update the basics section (#535)

* Extend gitignore

* basics: split "Installing Packages" into subsections

* Add a paragraph explaining the overall spack architecture

This is so that audience is already aware
of where we are headin into, when we introduce
the various pieces (hash, store, etc.).

* Update releases/v1.1 -> releases/v1.2

* Move high-level highlights to introduction

* Minor fixes

* Shorten and improve "Installing Packages"

* Demote Compiler flags

* Reorder "Spec Syntax" subsections

* Move "Querying Installations" into its own section

Also, consolidate all the use of `spack find`

* Add intro to "Spec Syntax"

* Update output

* Fix "Installing Packages"

* Fix "Transitive Dependencies"

* Fix "Transitive Dependencies"

* Fix "Virtual Dependencies"

* First draft

* Add missing output

* Polish the section

* Polish the section

* Temporarily disable output generation

* Minor style fixes

* Minor style fixes

* Address review

* Don't use "realistic"

* Remove old output files after merge with main

Signed-off-by: Alec Scott <alec@llnl.gov>

---------

Signed-off-by: Alec Scott <alec@llnl.gov>
Co-authored-by: Alec Scott <alec@llnl.gov>

* ISC26: update the environments section (#542)

* Extend gitignore

* basics: split "Installing Packages" into subsections

* Add a paragraph explaining the overall spack architecture

This is so that audience is already aware
of where we are headin into, when we introduce
the various pieces (hash, store, etc.).

* Update releases/v1.1 -> releases/v1.2

* Move high-level highlights to introduction

* Minor fixes

* Shorten and improve "Installing Packages"

* Demote Compiler flags

* Reorder "Spec Syntax" subsections

* Move "Querying Installations" into its own section

Also, consolidate all the use of `spack find`

* Add intro to "Spec Syntax"

* Update output

* Fix "Installing Packages"

* Fix "Transitive Dependencies"

* Fix "Transitive Dependencies"

* Fix "Virtual Dependencies"

* First draft

* Add missing output

* Polish the section

* Polish the section

* Temporarily disable output generation

* Mechanical update of the environment section

* Minor fixes

* Don't use a non-matching temporary environment

* Shorten introduction, but maintain the same content

* Improved "Working with environments" section

* Improved "Working with environments" section

* Added an "Environment on disk" section

This section introduces manifest and lockfile early.

* Added an "Environment on disk" section

This section introduces manifest and lockfile early.

* Added an "Environment on disk" section

This section introduces manifest and lockfile early.

* Added a "Configuring environments" section

* Trimmed redundant section

* First complete draft of the "Environments" tutorial

* Minor fixes

* Minor fixes

* Less notes in the initial section

---------

Co-authored-by: Alec Scott <alec@llnl.gov>

* ISC26: update the stacks section (#544)

* Extend gitignore

* basics: split "Installing Packages" into subsections

* Add a paragraph explaining the overall spack architecture

This is so that audience is already aware
of where we are headin into, when we introduce
the various pieces (hash, store, etc.).

* Update releases/v1.1 -> releases/v1.2

* Move high-level highlights to introduction

* Minor fixes

* Shorten and improve "Installing Packages"

* Demote Compiler flags

* Reorder "Spec Syntax" subsections

* Move "Querying Installations" into its own section

Also, consolidate all the use of `spack find`

* Add intro to "Spec Syntax"

* Update output

* Fix "Installing Packages"

* Fix "Transitive Dependencies"

* Fix "Transitive Dependencies"

* Fix "Virtual Dependencies"

* First draft

* Add missing output

* Polish the section

* Polish the section

* Temporarily disable output generation

* Mechanical update of the environment section

* Minor fixes

* Don't use a non-matching temporary environment

* Shorten introduction, but maintain the same content

* Improved "Working with environments" section

* Improved "Working with environments" section

* Added an "Environment on disk" section

This section introduces manifest and lockfile early.

* Added an "Environment on disk" section

This section introduces manifest and lockfile early.

* Added an "Environment on disk" section

This section introduces manifest and lockfile early.

* Added a "Configuring environments" section

* Trimmed redundant section

* First complete draft of the "Environments" tutorial

* Minor fixes

* Minor fixes

* Less notes in the initial section

* Update Stacks to Ubuntu 26.04

* Add spec groups

* Fix last nits

* Fix last nits

---------

Co-authored-by: Alec Scott <alec@llnl.gov>

* ISC26: update the packaging section (#547)

* Extend gitignore

* basics: split "Installing Packages" into subsections

* Add a paragraph explaining the overall spack architecture

This is so that audience is already aware
of where we are headin into, when we introduce
the various pieces (hash, store, etc.).

* Update releases/v1.1 -> releases/v1.2

* Move high-level highlights to introduction

* Minor fixes

* Shorten and improve "Installing Packages"

* Demote Compiler flags

* Reorder "Spec Syntax" subsections

* Move "Querying Installations" into its own section

Also, consolidate all the use of `spack find`

* Add intro to "Spec Syntax"

* Update output

* Fix "Installing Packages"

* Fix "Transitive Dependencies"

* Fix "Transitive Dependencies"

* Fix "Virtual Dependencies"

* First draft

* Add missing output

* Polish the section

* Polish the section

* Temporarily disable output generation

* Minor style fixes

* Minor style fixes

* Address review

* Don't use "realistic"

* ISC26: update the Packaging section

---------

Co-authored-by: Alec Scott <alec@llnl.gov>

* ISC26: update index and setup header (#548)

* Extend gitignore

* basics: split "Installing Packages" into subsections

* Add a paragraph explaining the overall spack architecture

This is so that audience is already aware
of where we are headin into, when we introduce
the various pieces (hash, store, etc.).

* Update releases/v1.1 -> releases/v1.2

* Move high-level highlights to introduction

* Minor fixes

* Shorten and improve "Installing Packages"

* Demote Compiler flags

* Reorder "Spec Syntax" subsections

* Move "Querying Installations" into its own section

Also, consolidate all the use of `spack find`

* Add intro to "Spec Syntax"

* Update output

* Fix "Installing Packages"

* Fix "Transitive Dependencies"

* Fix "Transitive Dependencies"

* Fix "Virtual Dependencies"

* First draft

* Add missing output

* Polish the section

* Polish the section

* Temporarily disable output generation

* Minor style fixes

* Minor style fixes

* Address review

* Don't use "realistic"

* ISC26: update index and setup

---------

Co-authored-by: Alec Scott <alec@llnl.gov>

* Re-enable Output Generation CI/CD on PRs (#543)

I've tested the CI in this PR fully and rebased off of the latest commits to main. It adds back the CI/CD check to ensure that future edits must pass the checks before being able to be merged so that we don't accidentally break the tutorial this weekend before giving it on Monday.

---------

Signed-off-by: Alec Scott <alec@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* build(deps): bump actions/checkout from 4.1.7 to 7.0.0 (#551)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4.1.7...9c091bb)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump pytest from 9.1.0 to 9.1.1 (#558)

Bumps [pytest](https://github.com/pytest-dev/pytest) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.0...9.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump actions/download-artifact from 4.1.8 to 8.0.1 (#556)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.8 to 8.0.1.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@fa0a91b...3e5f45b)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump docker/setup-qemu-action from 3.2.0 to 4.1.0 (#554)

Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.2.0 to 4.1.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@49b3bc8...0611638)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump docker/build-push-action from 6.9.0 to 7.2.0 (#553)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 7.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@4f58ea7...f9f3042)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump docker/login-action from 3.3.0 to 4.2.0 (#552)

Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 4.2.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...650006c)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump ruamel-yaml from 0.18.15 to 0.19.1 (#555)

Bumps ruamel-yaml from 0.18.15 to 0.19.1.

---
updated-dependencies:
- dependency-name: ruamel-yaml
  dependency-version: 0.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ISC26: small typo and grammar fixes in env and stacks sections (#559)

Signed-off-by: Alec Scott <alec@llnl.gov>

* build(deps): bump isort from 7.0.0 to 8.0.1 (#557)

Bumps [isort](https://github.com/PyCQA/isort) from 7.0.0 to 8.0.1.
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](PyCQA/isort@7.0.0...8.0.1)

---
updated-dependencies:
- dependency-name: isort
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump docutils from 0.21.2 to 0.23

Bumps [docutils](https://github.com/rtfd/recommonmark) from 0.21.2 to 0.23.
- [Changelog](https://github.com/readthedocs/recommonmark/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rtfd/recommonmark/commits)

---
updated-dependencies:
- dependency-name: docutils
  dependency-version: '0.23'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: Alec Scott <alec@llnl.gov>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Alec Scott <alec@llnl.gov>
Co-authored-by: Alec Scott <hi@alecbcs.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants