Skip to content

Commit ed79090

Browse files
committed
STASH
1 parent e79709e commit ed79090

24 files changed

+645
-0
lines changed

.JuliaFormatter.toml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
style = "default"
2+
3+
indent = 4
4+
margin = 120
5+
6+
always_for_in = true
7+
8+
short_to_long_function_def = true
9+
long_to_short_function_def = false
10+
force_long_function_def = false
11+
always_use_return = true
12+
13+
remove_extra_newlines = false
14+
15+
align_assignment = true
16+
align_struct_field = true
17+
align_pair_arrow = true
18+
align_conditional = true
19+
20+
disallow_single_arg_nesting = false
21+
22+
trailing_comma = false
23+
trailing_zero = true
24+
25+
whitespace_in_kwargs = true #
26+
whitespace_typedefs = false
27+
whitespace_ops_in_indices = true #
28+
separate_kwargs_with_semicolon = false
29+
surround_whereop_typeparameters = false
30+
31+
import_to_using = false
32+
pipe_to_function_call = false
33+
34+
format_docstrings = false
35+
36+
join_lines_based_on_source = true
37+
38+
indent_submodule = false
39+
short_circuit_to_if = false
40+
41+
format_markdown = false
42+
43+
normalize_line_endings = "unix"
44+
45+
ignore = []

.codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# comment: false

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/" # Location of package manifests
6+
schedule:
7+
interval: "weekly"

.github/workflows/CI.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- dev
8+
- 'releases/**'
9+
tags: '*'
10+
pull_request:
11+
release:
12+
workflow_dispatch:
13+
14+
concurrency:
15+
# Skip intermediate builds: always.
16+
# Cancel intermediate builds: only if it is a pull request build.
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
19+
20+
jobs:
21+
test:
22+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
23+
runs-on: ${{ matrix.os }}
24+
continue-on-error: ${{ matrix.version == 'nightly' }}
25+
strategy:
26+
fail-fast: false
27+
matrix:
28+
version:
29+
- '1.10'
30+
- '1'
31+
- 'pre'
32+
os:
33+
- ubuntu-latest
34+
arch:
35+
- x64
36+
include:
37+
- version: 1
38+
os: ubuntu-latest
39+
arch: x86
40+
- version: 1
41+
os: macOS-latest
42+
arch: arm64
43+
- version: 1
44+
os: windows-latest
45+
arch: x64
46+
steps:
47+
- uses: actions/checkout@v6
48+
- uses: julia-actions/setup-julia@v2
49+
with:
50+
version: ${{ matrix.version }}
51+
arch: ${{ matrix.arch }}
52+
- uses: julia-actions/cache@v2
53+
- uses: julia-actions/julia-buildpkg@v1
54+
- uses: julia-actions/julia-runtest@v1
55+
with:
56+
coverage: ${{ matrix.version == '1' && matrix.os == 'ubuntu-latest' && matrix.arch == 'x64' }}
57+
- uses: julia-actions/julia-processcoverage@v1
58+
if: matrix.version == '1' && matrix.os == 'ubuntu-latest' && matrix.arch == 'x64'
59+
- uses: codecov/codecov-action@v5
60+
if: matrix.version == '1' && matrix.os == 'ubuntu-latest' && matrix.arch == 'x64'
61+
with:
62+
fail_ci_if_error: true
63+
token: ${{ secrets.CODECOV_TOKEN }}
64+
files: lcov.info
65+
docs:
66+
name: Documentation
67+
runs-on: ubuntu-latest
68+
steps:
69+
- uses: actions/checkout@v6
70+
- uses: julia-actions/setup-julia@v2
71+
with:
72+
version: '1'
73+
- uses: julia-actions/cache@v2
74+
- uses: julia-actions/julia-buildpkg@v1
75+
- uses: julia-actions/julia-docdeploy@v1
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
78+
# Needed due to https://github.com/JuliaDocs/Documenter.jl/issues/1177
79+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
80+
GKSwstype: 'nul'

.github/workflows/CompatHelper.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: CompatHelper
2+
on:
3+
schedule:
4+
- cron: 0 0 * * *
5+
workflow_dispatch:
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
jobs:
10+
CompatHelper:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check if Julia is already available in the PATH
14+
id: julia_in_path
15+
run: which julia
16+
continue-on-error: true
17+
- name: Install Julia, but only if it is not already available in the PATH
18+
uses: julia-actions/setup-julia@v2
19+
with:
20+
version: '1'
21+
arch: ${{ runner.arch }}
22+
if: steps.julia_in_path.outcome != 'success'
23+
- name: "Add the General registry via Git"
24+
run: |
25+
import Pkg
26+
ENV["JULIA_PKG_SERVER"] = ""
27+
Pkg.Registry.add("General")
28+
shell: julia --color=yes {0}
29+
- name: "Install CompatHelper"
30+
run: |
31+
import Pkg
32+
name = "CompatHelper"
33+
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
34+
version = "3"
35+
Pkg.add(; name, uuid, version)
36+
shell: julia --color=yes {0}
37+
- name: "Run CompatHelper"
38+
run: |
39+
import CompatHelper
40+
CompatHelper.main()
41+
shell: julia --color=yes {0}
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
45+
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Doc Preview Cleanup
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
7+
# Ensure that only one "Doc Preview Cleanup" workflow is force pushing at a time
8+
concurrency:
9+
group: doc-preview-cleanup
10+
cancel-in-progress: false
11+
12+
jobs:
13+
doc-preview-cleanup:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: write
17+
steps:
18+
- name: Checkout gh-pages branch
19+
uses: actions/checkout@v6
20+
with:
21+
ref: gh-pages
22+
- name: Delete preview and history + push changes
23+
run: |
24+
if [ -d "${preview_dir}" ]; then
25+
git config user.name "Documenter.jl"
26+
git config user.email "documenter@juliadocs.github.io"
27+
git rm -rf "${preview_dir}"
28+
git commit -m "delete preview"
29+
git branch gh-pages-new $(echo "delete history" | git commit-tree HEAD^{tree})
30+
git push --force origin gh-pages-new:gh-pages
31+
fi
32+
env:
33+
preview_dir: previews/PR${{ github.event.number }}

.github/workflows/FormatCheck.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: FormatCheck
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
7+
jobs:
8+
build:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
matrix:
12+
version:
13+
- '1' # automatically expands to the latest stable 1.x release of Julia
14+
os:
15+
- ubuntu-latest
16+
arch:
17+
- x64
18+
steps:
19+
- uses: julia-actions/setup-julia@v2
20+
with:
21+
version: ${{ matrix.version }}
22+
arch: ${{ matrix.arch }}
23+
24+
- uses: actions/checkout@v6
25+
- name: Install JuliaFormatter and format
26+
# This will use the latest version by default but you can set the version like so:
27+
#
28+
# julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))'
29+
run: |
30+
julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter"))'
31+
julia -e 'using JuliaFormatter; format(".", verbose=true)'
32+
- name: Format check
33+
run: |
34+
julia -e '
35+
out = Cmd(`git diff --name-only`) |> read |> String
36+
if out == ""
37+
exit(0)
38+
else
39+
@error "Some files have not been formatted!"
40+
write(stdout, out)
41+
exit(1)
42+
end'

.github/workflows/TagBot.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: TagBot
2+
on:
3+
issue_comment:
4+
types:
5+
- created
6+
workflow_dispatch:
7+
inputs:
8+
lookback:
9+
default: "3"
10+
permissions:
11+
actions: read
12+
checks: read
13+
contents: write
14+
deployments: read
15+
issues: read
16+
discussions: read
17+
packages: read
18+
pages: read
19+
pull-requests: read
20+
repository-projects: read
21+
security-events: read
22+
statuses: read
23+
jobs:
24+
TagBot:
25+
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: JuliaRegistries/TagBot@v1
29+
with:
30+
token: ${{ secrets.GITHUB_TOKEN }}
31+
ssh: ${{ secrets.DOCUMENTER_KEY }}

.gitignore

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
### Julia ###
2+
3+
# Files generated by julia --code-coverage
4+
*.jl.cov
5+
*.jl.*.cov
6+
7+
# Files generated by julia --track-allocation
8+
*.jl.mem
9+
10+
# Julia BinaryProvider and BinDeps
11+
deps/deps.jl
12+
deps/build.log
13+
deps/downloads/
14+
deps/usr/
15+
deps/src/
16+
17+
# Julia Pkg manifests
18+
Manifest.toml
19+
Manifest-v*.toml
20+
21+
# Julia local package preferences
22+
LocalPreferences.toml
23+
24+
25+
### Visual Studio Code ###
26+
27+
.vscode
28+
29+
30+
### Jupyter ###
31+
32+
.ipynb_checkpoints
33+
34+
35+
### OS-X ###
36+
.DS_Store

LICENSE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
The NestedNumbers.jl package is licensed under the MIT "Expat" License:
2+
3+
> Copyright (c) 2018:
4+
>
5+
> Oliver Schulz <oschulz@mpp.mpg.de>
6+
>
7+
> Permission is hereby granted, free of charge, to any person obtaining a copy
8+
> of this software and associated documentation files (the "Software"), to deal
9+
> in the Software without restriction, including without limitation the rights
10+
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11+
> copies of the Software, and to permit persons to whom the Software is
12+
> furnished to do so, subject to the following conditions:
13+
>
14+
> The above copyright notice and this permission notice shall be included in all
15+
> copies or substantial portions of the Software.
16+
>
17+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20+
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21+
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22+
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23+
> SOFTWARE.
24+
>

0 commit comments

Comments
 (0)