Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
abelsiqueira committed Sep 10, 2023
0 parents commit 9618ae4
Show file tree
Hide file tree
Showing 35 changed files with 2,446 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
annotate_untyped_fields_with_any = false
indent = 2
margin = 100
normalize_line_endings = "unix"
remove_extra_newlines = true
whitespace_ops_in_indices = true
whitespace_typedefs = true
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# https://editorconfig.org
root = true

[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_size = 2
indent_style = space
trim_trailing_whitespace = true
49 changes: 49 additions & 0 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# CompatHelper v3.5.0
name: CompatHelper

on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
CompatHelper:
runs-on: ubuntu-latest
steps:
- name: Check if Julia is already available in the PATH
id: julia_in_path
run: which julia
continue-on-error: true
- name: Install Julia, but only if it is not already available in the PATH
uses: julia-actions/setup-julia@v1
with:
version: "1"
arch: ${{ runner.arch }}
if: steps.julia_in_path.outcome != 'success'
- name: "Add the General registry via Git"
run: |
import Pkg
ENV["JULIA_PKG_SERVER"] = ""
Pkg.Registry.add("General")
shell: julia --color=yes {0}
- name: "Install CompatHelper"
run: |
import Pkg
name = "CompatHelper"
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
version = "3"
Pkg.add(; name, uuid, version)
shell: julia --color=yes {0}
- name: "Run CompatHelper"
run: |
import CompatHelper
CompatHelper.main()
shell: julia --color=yes {0}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
# COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }}
38 changes: 38 additions & 0 deletions .github/workflows/Compliance.yml.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{% raw %}name: Template Compliance

on:
schedule:
- cron: 0 7 1/7 * *
workflow_dispatch:

jobs:
Compliance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: julia-actions/setup-julia@v1
with:
version: "1"
- name: Setup Python
uses: actions/setup-python@v4
- name: Check for update in the template
run: |
pip install copier
copier update
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: ":robot: COPIERTemplate.jl update"
title: "[AUTO] COPIERTemplate.jl update"
branch: auto-copier-template-update
delete-branch: true
labels: configuration, automated pr, no changelog
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
{% endraw %}
52 changes: 52 additions & 0 deletions .github/workflows/Docs.yml.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: CI

on:
push:
branches:
- main
paths:
- "docs/**"
- "src/**"
- "*.toml"
tags: ["*"]
pull_request:
branches:
- main
paths:
- "docs/**"
- "src/**"
- "*.toml"
types: [opened, synchronize, reopened]

{% raw %}concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
{% endraw %}
jobs:
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: '1'
- run: |
julia --project=docs -e '
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
Pkg.instantiate()'
- run: |
julia --project=docs -e '
using Documenter: DocMeta, doctest
using {{ PackageName }}
DocMeta.setdocmeta!({{ PackageName }}, :DocTestSetup, :(using {{ PackageName }}); recursive=true)
doctest({{ PackageName }})'
- run: julia --project=docs docs/make.jl
env:
JULIA_PKG_SERVER: ''
{% raw %}GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
{% endraw %}
36 changes: 36 additions & 0 deletions .github/workflows/Lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Lint

on:
push:
branches:
- main
tags: ["*"]
pull_request:

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
- name: Setup Julia
uses: julia-actions/setup-julia@v1
with:
version: "1"
- name: Use Julia cache
uses: julia-actions/cache@v1
- name: Install JuliaFormatter.jl
run: julia -e 'using Pkg; pkg"add JuliaFormatter"'
- name: Setup Python
uses: actions/setup-python@v4
- name: Install pre-commit
run: pip install pre-commit
- name: Run pre-commit
run: SKIP=no-commit-to-branch pre-commit run -a
37 changes: 37 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: TagBot

on:
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
type: number
default: 3

permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read

jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Edit the following line to reflect the actual name of the GitHub Secret containing your private key
ssh: ${{ secrets.DOCUMENTER_KEY }}
# ssh: ${{ secrets.NAME_OF_MY_SSH_PRIVATE_KEY_SECRET }}
76 changes: 76 additions & 0 deletions .github/workflows/Test.yml.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: CI

on:
push:
branches:
- main
paths:
- "src/**"
- "test/**"
- "*.toml"
tags: ["*"]
pull_request:
branches:
- main
paths:
- "src/**"
- "test/**"
- "*.toml"
types: [opened, synchronize, reopened]

{% raw %}concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
{% endraw %}
jobs:
test:
{% raw %}name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}{% endraw %}
strategy:
fail-fast: false
matrix:
version:
- '{{ JuliaMinVersion }}'
- '1'
- 'nightly'
os:
- ubuntu-latest
{% if not AddMacToCI %}#{% endif %}- macOS-latest
{% if not AddWinToCI %}#{% endif %}- windows-latest
arch:
- x64
allow_failure: [false]
{% if RunJuliaNightlyOnCI %}include:
- version: 'nightly'
os: ubuntu-latest
arch: x64
{% if not AddMacToCI %}#{% endif %}- version: 'nightly'
{% if not AddMacToCI %}#{% endif %} os: macOS-latest
{% if not AddMacToCI %}#{% endif %} arch: x64
{% if not AddWinToCI %}#{% endif %}- version: 'nightly'
{% if not AddWinToCI %}#{% endif %} os: windows-latest
{% if not AddWinToCI %}#{% endif %} arch: x64{% endif %}
steps:
- uses: actions/checkout@v3
- uses: julia-actions/setup-julia@v1
{% raw %}with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-{% endraw %}
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
with:
file: lcov.info
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.jl.*.cov
*.jl.cov
*.jl.mem
Manifest.toml
docs/build/
13 changes: 13 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"MD007": {
"indent": 2,
"start_indented": false
},
"MD013": {
"line_length": 1000,
"tables": false
},
"MD033": false,
"MD041": false,
"default": true
}
38 changes: 38 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-json
- id: check-toml
- id: check-yaml
- id: end-of-file-fixer
- id: file-contents-sorter
files: .JuliaFormatter.toml
args: [--unique]
- id: mixed-line-ending
args: [--fix=lf]
- id: no-commit-to-branch
- id: pretty-format-json
args: [--autofix, --indent=2]
- id: trailing-whitespace
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.36.0
hooks:
- id: markdownlint
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.0.3" # Use the sha or tag you want to point at
hooks:
- id: prettier
types_or: [yaml, json]
- repo: https://github.com/adrienverge/yamllint
rev: v1.32.0
hooks:
- id: yamllint
- repo: https://github.com/domluna/JuliaFormatter.jl
rev: v1.0.35
hooks:
- id: julia-formatter
- repo: https://github.com/tcort/markdown-link-check
rev: v3.11.2
hooks:
- id: markdown-link-check
2 changes: 2 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
rules:
indentation: { spaces: 2 }
1 change: 1 addition & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Go to https://citation-file-format.github.io/cff-initializer-javascript/#/
Loading

0 comments on commit 9618ae4

Please sign in to comment.