Skip to content

Commit 901d999

Browse files
authored
Merge pull request #32 from UCL-ARC/cdkharris/big-merge
Cdkharris/big merge
2 parents d65a369 + bfd4e1b commit 901d999

File tree

216 files changed

+3143
-2157
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

216 files changed

+3143
-2157
lines changed

Diff for: .codespell-ignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Fram
2+
dropse
3+
figurestyle
4+
hist
5+
namd
6+
rouge

Diff for: .github/workflows/test_and_build.yml

+26-18
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,35 @@ on:
88
- gh-pages
99

1010
jobs:
11-
spellcheck:
11+
lint_common_files:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- uses: actions/checkout@v2
15-
- name: Set up Python
16-
uses: actions/setup-python@v2
17-
with:
18-
python-version: 3.7
1915
- name: Install codespell
2016
run: |
21-
pip3 install codespell
17+
sudo apt-get install codespell
2218
- name: Check spelling
2319
run: |
2420
make spellcheck
21+
- name: Check top-level Markdown syntax
22+
uses: DavidAnson/markdownlint-cli2-action@v9
23+
- name: Check episode Markdown syntax
24+
uses: DavidAnson/markdownlint-cli2-action@v9
25+
with:
26+
globs: _episodes/*.md
27+
- name: Check extra Markdown syntax
28+
uses: DavidAnson/markdownlint-cli2-action@v9
29+
with:
30+
globs: _extras/*.md
2531

2632
check_lesson_and_build_default:
2733
runs-on: ubuntu-latest
2834
steps:
2935
- uses: actions/checkout@v2
30-
- uses: actions/setup-ruby@v1
36+
- uses: ruby/setup-ruby@v1
3137
with:
32-
ruby-version: '2.7'
38+
ruby-version: '3.0.4'
39+
bundler-cache: true
3340
- name: Install basic requirements
3441
run: |
3542
# Need this library for nokogiri
@@ -38,9 +45,6 @@ jobs:
3845
bundle config set path '.vendor/bundle'
3946
bundle config build.nokogiri --use-system-libraries
4047
bundle install
41-
- name: "Lint episode markdown"
42-
run: |
43-
find _episodes -name \*.md -exec bundle exec mdl -r MD001,MD003,MD005,MD006,MD007,MD008,MD009,MD010,MD011,MD012,MD015,MD016,MD017,MD018,MD019,MD020,MD021,MD022,MD023,MD025,MD035,MD036,MD037,MD038,MD039,MD046 {} \;
4448
- name: "Check lesson for warnings"
4549
run: |
4650
make lesson-check-all
@@ -56,17 +60,20 @@ jobs:
5660
strategy:
5761
matrix:
5862
HPC_JEKYLL_CONFIG:
63+
- Birmingham_Baskerville_slurm
5964
- ComputeCanada_Graham_slurm
60-
- EPCC_Cirrus_pbs
65+
- EPCC_Cirrus_slurm
66+
- HPCC_MagicCastle_slurm
67+
- Magic_Castle_EESSI_slurm
6168
- NIST_CTCMS_slurm
6269
- Norway_SIGMA2_SAGA_slurm
6370
- UCL_Myriad_sge
64-
- Magic_Castle_EESSI_slurm
6571
steps:
6672
- uses: actions/checkout@v2
67-
- uses: actions/setup-ruby@v1
73+
- uses: ruby/setup-ruby@v1
6874
with:
69-
ruby-version: '2.7'
75+
ruby-version: '3.0.4'
76+
bundler-cache: true
7077
- name: Install basic requirements
7178
run: |
7279
# Need this library for nokogiri
@@ -78,6 +85,7 @@ jobs:
7885
- name: Check build ${{matrix.HPC_JEKYLL_CONFIG}}
7986
run: |
8087
make --always-make site HPC_JEKYLL_CONFIG=_includes/snippets_library/${{matrix.HPC_JEKYLL_CONFIG}}/_config_options.yml
81-
- name: "Lint snippet markdown"
82-
run: |
83-
find _includes/snippets_library/${{matrix.HPC_JEKYLL_CONFIG}} -name \*.snip -exec bundle exec mdl -r MD001,MD003,MD005,MD006,MD007,MD008,MD009,MD010,MD011,MD012,MD015,MD016,MD017,MD018,MD019,MD020,MD021,MD022,MD023,MD025,MD035,MD036,MD037,MD038,MD039,MD046 {} \;
88+
- name: Lint snippet markdown
89+
uses: DavidAnson/markdownlint-cli2-action@v9
90+
with:
91+
globs: _includes/snippets_library/${{matrix.HPC_JEKYLL_CONFIG}}/**/*.snip

Diff for: .markdownlint-cli2.yaml

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# markdownlint-cli2:
2+
# - Example: <https://github.com/DavidAnson/markdownlint-cli2/blob/main/test/markdownlint-cli2-yaml-example/.markdownlint-cli2.yaml>
3+
# - Rules: <https://github.com/DavidAnson/markdownlint/blob/main/README.md#rules--aliases>
4+
---
5+
config:
6+
MD001: false # heading-increment
7+
MD002: false # mdl rule undefined
8+
MD003: true # heading-style
9+
MD004: true # ul-style
10+
MD005: true # list-indent
11+
MD006: false # mdl rule undefined
12+
MD007: true # ul-indent
13+
MD008: false # mdl rule undefined
14+
MD009: true # no-trailing-spaces
15+
MD010: true # no-hard-tabs
16+
MD011: true # no-reversed-links
17+
MD012: true # no-multiple-blanks
18+
MD013: false # line-length
19+
MD014: false # commands-show-output
20+
MD015: false # mdl rule undefined
21+
MD016: false # mdl rule undefined
22+
MD017: false # mdl rule undefined
23+
MD018: true # no-missing-space-atx
24+
MD019: true # no-multiple-space-atx
25+
MD020: true # no-missing-space-closed-atx
26+
MD021: true # no-multiple-space-closed-atx
27+
MD022: true # blanks-around-headings
28+
MD023: true # heading-start-left
29+
MD024: false # no-duplicate-heading
30+
MD025: true # single-h1
31+
MD026: false # no-trailing-punctuation
32+
MD027: false # no-multiple-space-blockquote
33+
MD028: false # no-blanks-blockquote
34+
MD029: true # ol-prefix
35+
MD030: true # list-marker-space
36+
MD031: false # blanks-around-fences
37+
MD032: true # blanks-around-lists
38+
MD033: false # no-inline-html
39+
MD034: true # no-bare-urls
40+
MD035: true # hr-style
41+
MD036: true # no-emphasis-as-heading
42+
MD037: true # no-space-in-emphasis
43+
MD038: true # no-space-in-code
44+
MD039: true # no-space-in-links
45+
MD040: false # fenced-code-language
46+
MD041: false # first-line-h1
47+
MD042: true # no-empty-links
48+
MD043: false # required-headings
49+
MD044: true # proper-names
50+
MD045: true # no-alt-text
51+
MD046: true # code-block-style
52+
MD047: true # single-trailing-newline
53+
MD048: true # code-fence-style
54+
MD049: false # emphasis-style
55+
MD050: false # strong-style
56+
MD051: true # link-fragments
57+
MD052: true # reference-links-images
58+
MD053: false # link-image-reference-definitions
59+
MD054: false # link-image-style
60+
MD055: true # table-pipe-style
61+
MD056: true # table-column-count
62+
63+
ignores:
64+
- .vendor
65+
- .bundle
66+
- _extras/figures.md # really HTML
67+
- _includes/links.md # just a list of links
68+
- "**/*.html"
69+
- "**/*.sh"
70+
- "**/*.yaml"
71+
- "**/*.yml"
72+
73+
# noProgress: true

Diff for: CONTRIBUTING.md

-1
Original file line numberDiff line numberDiff line change
@@ -130,4 +130,3 @@ which everyone is welcome to join. You can also [reach us by email][email].
130130
[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry
131131
[swc-lessons]: https://software-carpentry.org/lessons/
132132
[swc-site]: https://software-carpentry.org/
133-

Diff for: Gemfile

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
1-
source "https://rubygems.org"
2-
gem "github-pages", group: :jekyll_plugins
1+
# frozen_string_literal: true
2+
3+
source 'https://rubygems.org'
4+
5+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6+
7+
# Synchronize with https://pages.github.com/versions
8+
ruby '>=3.0.4'
9+
10+
gem 'github-pages', group: :jekyll_plugins
11+
12+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
13+
gem 'webrick', '>= 1.6.1'
14+
end
15+
316
gem "kramdown-parser-gfm"
17+
418
gem "mdl"

Diff for: LICENSE.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
---
2-
title: "Licenses"
2+
title: "License: CC BY 4.0"
33
---
44

5-
# CC BY 4.0
6-
75
## Instructional Material
86

97
All High Performance Computing Carpentry instructional material is

Diff for: Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ lesson-fixme :
154154

155155
## spellcheck
156156
spellcheck:
157-
codespell --skip="assets,*.svg,.vendor" --quiet-level=2 -L "dropse,figurestyle,hist,namd,rouge"
157+
codespell --skip=".bundle,.vendor,assets,*.svg" --quiet-level=2 --ignore-words=".codespell-ignore"
158158

159159
##
160160
## IV. Auxililary (plumbing) commands

Diff for: _config.yml

+13-11
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,25 @@
66
#------------------------------------------------------------
77

88
# Cluster host and scheduler options: the defaults come from
9-
# Graham at Compute Canada, running Slurm. Other options can
10-
# be found in the library of snippets,
9+
# the HPC Carpentry tutorial cluster, running Slurm. Other
10+
# options can be found in the library of snippets,
1111
# `_includes/snippets_library`. To use one, replace options
1212
# below with those in `_config_options.yml` from the
1313
# library. E.g, to customise for Cirrus at EPCC, running
14-
# PBS, we could replace the options below with those from
14+
# Slurm, we could replace the options below with those from
1515
#
16-
# _includes/snippets_library/EPCC_Cirrus_pbs/_config_options.yml
16+
# _includes/snippets_library/EPCC_Cirrus_slurm/_config_options.yml
1717
#
1818
# If your cluster is not represented in the library, please
1919
# copy an existing folder, rename it, and customize for your
2020
# installation. Remember to keep the leading slash on the
2121
# `snippets` variable below!
22+
2223
# UCL, University College London: Myriad + SGE
2324
snippets: "/snippets_library/UCL_Myriad_sge"
2425

2526
local:
26-
prompt: "[user@laptop ~]$"
27+
prompt: "[you@laptop:~]$"
2728
bash_shebang: "#!/usr/bin/env bash"
2829

2930
remote:
@@ -70,11 +71,12 @@ episode_order:
7071
- 11-connecting
7172
- 12-cluster
7273
- 13-scheduler
73-
- 14-modules
74-
- 15-transferring-files
75-
- 16-parallel
76-
- 17-resources
77-
- 18-responsibility
74+
- 14-environment-variables
75+
- 15-modules
76+
- 16-transferring-files
77+
- 17-parallel
78+
- 18-resources
79+
- 19-responsibility
7880

7981
#------------------------------------------------------------
8082
# Values for this lesson
@@ -84,7 +86,7 @@ episode_order:
8486
# "swc": Software Carpentry
8587
# "dc": Data Carpentry
8688
# "lc": Library Carpentry
87-
# "cp": Carpentries (e.g., instructor traning)
89+
# "cp": Carpentries (e.g., instructor training)
8890
carpentry: "incubator"
8991

9092
# Overall title for pages.

Diff for: _episodes/11-connecting.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ SSH clients are usually command-line tools, where you provide the remote
4747
machine address as the only required argument. If your username on the remote
4848
system differs from what you use locally, you must provide that as well. If
4949
your SSH client has a graphical front-end, such as PuTTY or MobaXterm, you will
50-
7set these arguments before clicking "connect." From the terminal, you'll write
50+
set these arguments before clicking "connect." From the terminal, you'll write
5151
something like `ssh userName@hostname`, where the argument is just like an
5252
email address: the "@" symbol is used to separate the personal ID from the
5353
address of the remote machine.
@@ -300,7 +300,9 @@ See the [PuTTY documentation][putty-agent].
300300
### Transfer Your Public Key
301301
302302
{% if site.remote.portal %}
303-
Visit {{ site.remote.portal }} to upload your SSH public key.
303+
Visit [{{ site.remote.portal }}]({{ site.remote.portal }}) to upload your SSH
304+
public key. (Remember, it's the one ending in `.pub`!)
305+
304306
{% else %}
305307
Use the **s**ecure **c**o**p**y tool to send your public key to the cluster.
306308
@@ -309,7 +311,7 @@ Use the **s**ecure **c**o**p**y tool to send your public key to the cluster.
309311
```
310312
{: .language-bash}
311313
312-
{% include {{ site.snippets }}/ssh-key-instructions.snip %}
314+
{% include {{ site.snippets }}/login/ssh-key-instructions.snip %}
313315
314316
{% endif %}
315317
@@ -319,7 +321,7 @@ Go ahead and open your terminal or graphical SSH client, then log in to the
319321
cluster. Replace `{{ site.remote.user }}` with your username or the one
320322
supplied by the instructors.
321323
322-
{% include {{ site.snippets }}/login-instructions.snip %}
324+
{% include {{ site.snippets }}/login/login-instructions.snip %}
323325
324326
```
325327
{{ site.local.prompt }} ssh {{ site.remote.user }}@{{ site.remote.login }}
@@ -411,6 +413,8 @@ the other files, or files like them: `.bashrc` is a shell configuration file,
411413
which you can edit with your preferences; and `.ssh` is a directory storing SSH
412414
keys and a record of authorized connections.
413415
416+
{% unless site.remote.portal %}
417+
414418
### Install Your SSH Key
415419
416420
> ## There May Be a Better Way
@@ -454,6 +458,7 @@ password for your SSH key.
454458
{{ site.local.prompt }} ssh {{ site.remote.user }}@{{ site.remote.login }}
455459
```
456460
{: .language-bash}
461+
{% endunless %}
457462
458463
{% include links.md %}
459464

Diff for: _episodes/12-cluster.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ dev lib opt run srv usr
8181
8282
The "{{ site.remote.homedir | replace: "/", "" }}" directory is the one where
8383
we generally want to keep all of our files. Other folders on a UNIX OS contain
84-
system files, and get modified and changed as you install new software or
85-
upgrade your OS.
84+
system files and change as you install new software or upgrade your OS.
8685
8786
> ## Using HPC filesystems
8887
>

Diff for: _episodes/13-scheduler.md

+3-6
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ status, we check the queue using the command
130130
> nothing was printed to the terminal.
131131
>
132132
> Cluster job output is typically redirected to a file in the directory you
133-
> launched it from. Use `ls` to find and read the file.
133+
> launched it from. Use `ls` to find and `cat` to read the file.
134134
{: .discussion}
135135
136136
## Customising a Job
@@ -181,7 +181,6 @@ Submit the job and monitor its status:
181181
182182
Fantastic, we've successfully changed the name of our job!
183183
184-
185184
### Resource Requests
186185
187186
What about more important changes, such as the number of cores and memory for
@@ -219,7 +218,7 @@ later episode of this lesson.
219218
> >
220219
> > ```
221220
> > {{ site.remote.bash_shebang }}
222-
> > {{ site.sched.comment }} {{ site.sched.flag.time }} 00:01 # timeout in HH:MM
221+
> > {{ site.sched.comment }} {{ site.sched.flag.time }}00:01:00 # timeout in HH:MM
223222
> >
224223
> > echo -n "This script is running on "
225224
> > sleep 20 # time in seconds
@@ -236,8 +235,6 @@ later episode of this lesson.
236235
> {: .solution}
237236
{: .challenge}
238237
239-
{% include {{ site.snippets }}/scheduler/print-sched-variables.snip %}
240-
241238
Resource requests are typically binding. If you exceed them, your job will be
242239
killed. Let's use wall time as an example. We will request 1 minute of
243240
wall time, and attempt to run a job for two minutes.
@@ -328,4 +325,4 @@ can run these types of tasks as a one-off with `{{ site.sched.interactive }}`.
328325
{% include links.md %}
329326
330327
[fshs]: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
331-
[hisat]: https://ccb.jhu.edu/software/hisat2/index.shtml
328+
[hisat]: https://daehwankimlab.github.io/hisat2/

0 commit comments

Comments
 (0)