Skip to content

Commit 4c91b14

Browse files
committed
Initial commit
0 parents  commit 4c91b14

302 files changed

Lines changed: 37967 additions & 0 deletions

File tree

Some content is hidden

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

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<!--
2+
Thanks for making a pull request to F3D.jl.
3+
We have added this PR template to help you help us.
4+
See the comments below, fill the required fields, and check the items.
5+
-->
6+
7+
## Related issues
8+
9+
<!-- We normally work with (i) create issue; (ii) discussion if necessary; (iii) create PR. So, at least one of the following should be true:-->
10+
11+
<!-- Option 1, this closes an existing issue. Fill the number below-->
12+
Closes #
13+
14+
<!-- Option 2, this is a small fix that arguably won't need an issue. Uncomment below -->
15+
<!--
16+
There is no related issue.
17+
-->
18+
19+
## Checklist
20+
21+
<!-- mark true if NA -->
22+
<!-- leave PR as draft until all is checked -->
23+
- [ ] Tests are passing
24+
- [ ] Lint workflow is passing
25+
- [ ] Docs were updated and workflow is passing

‎.github/workflows/CompatHelper.yml‎

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# CompatHelper v3.5.0
2+
name: CompatHelper
3+
4+
on:
5+
schedule:
6+
- cron: 0 0 * * * # Every day at 00:00 UTC
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
pull-requests: write
12+
13+
jobs:
14+
CompatHelper:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Check if Julia is already available in the PATH
18+
id: julia_in_path
19+
run: which julia
20+
continue-on-error: true
21+
- name: Install Julia, but only if it is not already available in the PATH
22+
uses: julia-actions/setup-julia@v2
23+
with:
24+
version: "1"
25+
arch: ${{ runner.arch }}
26+
if: steps.julia_in_path.outcome != 'success'
27+
- name: Use Julia cache
28+
uses: julia-actions/cache@v2
29+
- name: "Add the General registry via Git"
30+
run: |
31+
import Pkg
32+
ENV["JULIA_PKG_SERVER"] = ""
33+
Pkg.Registry.add("General")
34+
shell: julia --color=yes {0}
35+
- name: "Install CompatHelper"
36+
run: |
37+
import Pkg
38+
name = "CompatHelper"
39+
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
40+
version = "3"
41+
Pkg.add(; name, uuid, version)
42+
shell: julia --color=yes {0}
43+
- name: "Run CompatHelper"
44+
run: |
45+
import CompatHelper
46+
CompatHelper.main()
47+
shell: julia --color=yes {0}
48+
env:
49+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50+
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
51+
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}

‎.github/workflows/Docs.yml‎

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths:
8+
- "docs/**"
9+
- "src/**"
10+
- "*.toml"
11+
tags: ["*"]
12+
pull_request:
13+
branches:
14+
- master
15+
paths:
16+
- "docs/**"
17+
- "src/**"
18+
- "*.toml"
19+
types: [opened, synchronize, reopened]
20+
21+
concurrency:
22+
# Skip intermediate builds: always.
23+
# Cancel intermediate builds: only if it is a pull request build.
24+
group: ${{ github.workflow }}-${{ github.ref }}
25+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
26+
27+
jobs:
28+
docs:
29+
name: Documentation
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v4
33+
- uses: julia-actions/setup-julia@v2
34+
with:
35+
version: "1"
36+
- name: Use Julia cache
37+
uses: julia-actions/cache@v2
38+
- name: Instantiate environment with development version of the package
39+
run: |
40+
julia --project=docs -e '
41+
using Pkg
42+
Pkg.develop(PackageSpec(path=pwd()))
43+
Pkg.instantiate()'
44+
- name: Run doctest
45+
run: |
46+
julia --project=docs -e '
47+
using Documenter: DocMeta, doctest
48+
using F3D
49+
DocMeta.setdocmeta!(F3D, :DocTestSetup, :(using F3D); recursive=true)
50+
doctest(F3D)'
51+
- name: Generate and deploy documentation
52+
run: julia --project=docs docs/make.jl
53+
env:
54+
JULIA_PKG_SERVER: ""
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
57+
GKSwstype: "100" # https://discourse.julialang.org/t/generation-of-documentation-fails-qt-qpa-xcb-could-not-connect-to-display/60988

‎.github/workflows/ReusableTest.yml‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Reusable test
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
version:
7+
required: false
8+
type: string
9+
default: "1"
10+
os:
11+
required: false
12+
type: string
13+
default: ubuntu-latest
14+
arch:
15+
required: false
16+
type: string
17+
default: x64
18+
allow_failure:
19+
required: false
20+
type: boolean
21+
default: false
22+
run_codecov:
23+
required: false
24+
type: boolean
25+
default: false
26+
secrets:
27+
codecov_token:
28+
required: true
29+
30+
jobs:
31+
test:
32+
name: Julia ${{ inputs.version }} - ${{ inputs.os }} - ${{ inputs.arch }} - ${{ github.event_name }}
33+
runs-on: ${{ inputs.os }}
34+
continue-on-error: ${{ inputs.allow_failure }}
35+
36+
steps:
37+
- uses: actions/checkout@v4
38+
- uses: julia-actions/setup-julia@v2
39+
with:
40+
version: ${{ inputs.version }}
41+
arch: ${{ inputs.arch }}
42+
- name: Use Julia cache
43+
uses: julia-actions/cache@v2
44+
- uses: julia-actions/julia-buildpkg@v1
45+
- uses: julia-actions/julia-runtest@v1
46+
- uses: julia-actions/julia-processcoverage@v1
47+
if: ${{ inputs.run_codecov }}
48+
- uses: codecov/codecov-action@v4
49+
if: ${{ inputs.run_codecov }}
50+
with:
51+
file: lcov.info
52+
token: ${{ secrets.codecov_token }}

‎.github/workflows/TagBot.yml‎

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

‎.github/workflows/Test.yml‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Test
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
tags: ["*"]
8+
workflow_dispatch:
9+
10+
jobs:
11+
test:
12+
uses: ./.github/workflows/ReusableTest.yml
13+
with:
14+
os: ${{ matrix.os }}
15+
version: ${{ matrix.version }}
16+
arch: x64
17+
allow_failure: ${{ matrix.allow_failure }}
18+
run_codecov: ${{ matrix.version == '1' && matrix.os == 'ubuntu-latest' }}
19+
secrets:
20+
codecov_token: ${{ secrets.CODECOV_TOKEN }}
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
version:
25+
- "lts"
26+
- "1"
27+
os:
28+
- ubuntu-latest
29+
- windows-latest
30+
- macos-latest
31+
allow_failure: [false]

‎.github/workflows/TestOnPRs.yml‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Test on PRs
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
paths:
8+
- ".github/**"
9+
- "src/**"
10+
- "test/**"
11+
- "*.toml"
12+
types: [opened, synchronize, reopened]
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+
strategy:
23+
fail-fast: false
24+
matrix:
25+
os: [ubuntu-latest, windows-latest, macos-latest]
26+
uses: ./.github/workflows/ReusableTest.yml
27+
with:
28+
os: ${{ matrix.os }}
29+
version: "1"
30+
arch: x64
31+
allow_failure: false
32+
run_codecov: ${{ matrix.os == 'ubuntu-latest' }}
33+
secrets:
34+
codecov_token: ${{ secrets.CODECOV_TOKEN }}

‎.gitignore‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
*.jl.*.cov
2+
*.jl.cov
3+
*.jl.mem
4+
*.rej
5+
.DS_Store
6+
.benchmarkci
7+
Manifest.toml
8+
benchmark/*.json
9+
coverage
10+
docs/build/
11+
env
12+
node_modules

‎.lychee.toml‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
exclude = [
2+
"@ref",
3+
"@cite",
4+
"^https://github.com/.*/releases/tag/v.*$",
5+
"^https://doi.org/FIXME$",
6+
"^https://joa-quim.github.io/F3D.jl/stable$",
7+
"zenodo.org/badge/DOI/FIXME$"
8+
]
9+
10+
exclude_path = [
11+
"docs/build"
12+
]

‎.markdownlint.json‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"MD007": {
3+
"indent": 2,
4+
"start_indented": false
5+
},
6+
"MD013": {
7+
"line_length": 1000,
8+
"tables": false
9+
},
10+
"MD024": {
11+
"siblings_only": true
12+
},
13+
"MD033": false,
14+
"MD041": false,
15+
"default": true
16+
}

0 commit comments

Comments
 (0)