Skip to content

Commit 09aa0a8

Browse files
authored
Prepare for first release (#99)
* Prepare for first release * Fix typo
1 parent 734c787 commit 09aa0a8

5 files changed

Lines changed: 85 additions & 1 deletion

File tree

.github/workflows/TagBot.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
# Edit the following line to reflect the actual name of the GitHub Secret containing your private key
32+
ssh: ${{ secrets.DOCUMENTER_KEY }}

LibTrixi.jl/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ julia> trixi_finalize_simulation(handle) # do some cleanup and show timers
118118
────────────────────────────────────────────────────────────────────────────────────
119119
```
120120

121+
## Documentation
122+
For more information on LibTrixi.jl, please refer to the
123+
[main documentation](https://trixi-framework.github.io/libtrixi) of libtrixi.
124+
121125
## Authors
122126
For author information, see the
123127
[Authors section](https://github.com/trixi-framework/libtrixi#authors) of the main

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LibTrixi.jl/Project.toml

docs/make.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ makedocs(
3030
# Explicitly specify documentation structure
3131
pages = [
3232
"Home" => "index.md",
33+
"Developers" => "developers.md",
34+
"Troubleshooting" => "troubleshooting.md",
3335
"Reference" => [
3436
"C/Fortran" => "reference-c-fortran.md",
3537
"Julia" => "reference-julia.md",
3638
],
37-
"Troubleshooting" => "troubleshooting.md",
3839
"License" => "license.md"
3940
],
4041
strict = true # to make the GitHub action fail when doctests fail, see https://github.com/neuropsychology/Psycho.jl/issues/34

docs/src/developers.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Developers
2+
3+
## Release management
4+
5+
We manage releases through the tools provided by the Julia community for creating and
6+
publishing new Julia package releases. Specifically, that means
7+
* we set the libtrixi version in
8+
[`LibTrixi.jl/Project.toml`](https://github.com/trixi-framework/libtrixi/blob/main/LibTrixi.jl/Project.toml),
9+
* we use the [Julia Registrator app](https://github.com/JuliaRegistries/Registrator.jl)
10+
for GitHub to register new versions of the Julia package LibTrixi.jl, and
11+
* we rely on the Julia [TagBot](https://github.com/JuliaRegistries/TagBot)
12+
to create associacted tags and GitHub releases once the Julia package is registered.
13+
14+
To support the ability to have TagBot create top-level releases even though the Julia
15+
package LibTrixi.jl lives in a subdirectory, we have symlinked `LibTrixi.jl/Project.toml` to
16+
the repository root.
17+
18+
### Creating a new release
19+
To create a new libtrixi release, follow these steps:
20+
1. Ensure that all tests have passed for the current commit in `main` and that coverage is
21+
OK (>95%).
22+
2. Bump the version in
23+
[`LibTrixi.jl/Project.toml`](https://github.com/trixi-framework/libtrixi/blob/main/LibTrixi.jl/Project.toml)
24+
to the next release version, following [semantic versioning](https://semver.org/). For
25+
example, if the current release is `v0.1.0`, the next release with breaking changes would
26+
be `v0.2.0`, while the next non-breaking release would be `v0.1.1`. Commit this change to `main`.
27+
3. Go to the [latest commit in `main`](https://github.com/trixi-framework/libtrixi/commit/HEAD)
28+
on the GitHub website. This should be the commit where you just updated the version.
29+
Scroll down and submit the following comment
30+
```
31+
@JuliaRegistrator register subdir=LibTrixi.jl
32+
```
33+
This will prompt the [Julia Registrator app](https://github.com/JuliaRegistries/Registrator.jl/)
34+
to create a new release of the Julia package LibTrixi.jl. If there are no issues found
35+
that would prevent auto-merging the version update PR in the Julia General registry
36+
(e.g., if you did not skip a version number), the new version will become active after
37+
about 15 minutes. See the full set of rules
38+
[here](https://github.com/JuliaRegistries/Registrator.jl/).
39+
4. The Julia Registrator app is chatty and will let you know if your registration request
40+
meets all criteria for an auto-merge. Once this is the case, bump the version in
41+
[`LibTrixi.jl/Project.toml`](https://github.com/trixi-framework/libtrixi/blob/main/LibTrixi.jl/Project.toml)
42+
again and set it to the next development version. We do this to prevent confusion about
43+
whether the current state of the repository is identical to the latest release or not.
44+
The next development version is obtained by increasing the *patch* number and appending
45+
`-pre`. For example, if you just released version `v0.1.1`, the next development version
46+
would be `v0.1.2-pre`.

0 commit comments

Comments
 (0)