Skip to content
Open
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
53c4e55
start of developer documents file
nathanielpritchard Feb 10, 2025
f82346b
correct issue in make file
nathanielpritchard Feb 10, 2025
95b0cd8
checklist
Tuna2222 Jun 25, 2025
64760f1
Checklist saperation
Tuna2222 Jul 2, 2025
1633503
dev
Tuna2222 Jul 2, 2025
c6de884
small changes
Tuna2222 Jul 23, 2025
f7a284f
yml
Tuna2222 Aug 6, 2025
0d10ada
docs
Tuna2222 Aug 13, 2025
1d5ac70
123
Tuna2222 Aug 13, 2025
ffba348
initialized the introduction
nathanielpritchard Aug 23, 2025
2c54d6a
slight intro edits
nathanielpritchard Aug 24, 2025
ff88338
removed redundant key function sec
nathanielpritchard Aug 24, 2025
6708ae9
rewrite in html
Tuna2222 Aug 24, 2025
63a9479
Add md with no Julia light
Tuna2222 Aug 24, 2025
c557f17
Only left the version with HTML and comment out others
Tuna2222 Aug 27, 2025
25f4099
123
Tuna2222 Sep 24, 2025
7c3fb87
merge
Tuna2222 Sep 24, 2025
7b0534d
Merge branch 'main' into v0.2-dev_docs
Tuna2222 Sep 24, 2025
6226f6b
merge main
Tuna2222 Sep 24, 2025
e83a636
0.24
Tuna2222 Sep 24, 2025
e5b94a9
docs/getting_started.md changes
Tuna2222 Oct 1, 2025
99fa32a
comment out CI.yml
Tuna2222 Oct 1, 2025
bba815a
delete md
Tuna2222 Oct 1, 2025
b6760bd
Merge branch 'main' into v0.2-tutorials
Tuna2222 Oct 1, 2025
0827c79
delete CI
Tuna2222 Oct 8, 2025
ff201f0
pr template
Tuna2222 Oct 8, 2025
43bec29
Update docs/src/tutorials/getting_started.md
Tuna2222 Oct 8, 2025
3198fad
Update docs/src/dev/style_guide.md
Tuna2222 Oct 8, 2025
c6caee7
Update docs/src/manual/introduction.md
Tuna2222 Oct 8, 2025
45f413f
Update docs/src/tutorials/getting_started.md
Tuna2222 Oct 8, 2025
2b5de08
docs/make pr non-overlap
Tuna2222 Oct 8, 2025
80129e4
Merge branch 'v0.2-tutorials' of https://github.com/numlinalg/RLinear…
Tuna2222 Oct 8, 2025
34c0dcc
docs/refine LS example
Tuna2222 Oct 8, 2025
1909a3e
docs/tutorials/intro
Tuna2222 Oct 8, 2025
80aeb6b
docs/purify the branch
Tuna2222 Oct 15, 2025
c79ffec
Merge branch 'main' into v0.2-tutorials
Tuna2222 Oct 15, 2025
c359f9d
docs/reformulate
Tuna2222 Oct 15, 2025
20fea52
docs/reformulate
Tuna2222 Oct 15, 2025
8c51331
docs/reformulate
Tuna2222 Oct 15, 2025
543f3e5
docs/reformulate
Tuna2222 Oct 16, 2025
8863bcb
docs/tutorial
Tuna2222 Oct 22, 2025
569da4e
Merge branch 'main' into v0.2-tutorials
Tuna2222 Oct 22, 2025
52d8322
10.29
Tuna2222 Oct 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
57 changes: 0 additions & 57 deletions .github/pull_request_template.md

This file was deleted.

41 changes: 41 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# name: CI
# on:
# push:
# branches:
# - main
# tags: ['*']
# pull_request:
# workflow_dispatch:
# 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:
# test:
# name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
# runs-on: ${{ matrix.os }}
# timeout-minutes: 60
# permissions: # needed to allow julia-actions/cache to proactively delete old caches that it has created
# actions: write
# contents: read
# strategy:
# fail-fast: false
# matrix:
# version:
# - '1.11'
# - '1.6'
# - 'pre'
# os:
# - ubuntu-latest
# arch:
# - x64
# steps:
# - uses: actions/checkout@v4
# - uses: julia-actions/setup-julia@v2
# with:
# version: ${{ matrix.version }}
# arch: ${{ matrix.arch }}
# - uses: julia-actions/cache@v2
# - uses: julia-actions/julia-buildpkg@v1
# - uses: julia-actions/julia-runtest@v1
16 changes: 16 additions & 0 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: CompatHelper
on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:
jobs:
CompatHelper:
runs-on: ubuntu-latest
steps:
- name: Pkg.add("CompatHelper")
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
- name: CompatHelper.main()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
run: julia -e 'using CompatHelper; CompatHelper.main()'
5 changes: 2 additions & 3 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ name: Documenter
on:
push:
branches:
- master
- main
- v0.2-main
tags: '*'
tags:
- 'v*'
pull_request:
branches:
- master
Expand Down
117 changes: 117 additions & 0 deletions .github/workflows/HM_Bump_version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: 'Propose Version Bump'

on:
pull_request:
types:
- closed
branches:
- main

jobs:
propose-bump:
# This job only runs when a PR is successfully merged.
if: github.event.pull_request.merged == true

runs-on: ubuntu-latest

steps:
# Step 1: Checkout the repository code.
- name: 'Checkout Repository'
uses: actions/checkout@v4
with:
fetch-depth: 0 # We need history to find the commit by its SHA
token: ${{ secrets.PAT_FOR_BUMP_PR }}

# Step 2: Get the merge commit message
- name: 'Get Merge Commit Message'
id: commit_message
run: |
# Use git log to get the full message of the exact merge commit SHA.
# The -n 1 flag ensures we only get one commit.
# The output is set for the next step to use.
MSG=$(git log --format=%B -n 1 ${{ github.event.pull_request.merge_commit_sha }})
echo "message<<EOF" >> $GITHUB_OUTPUT
echo "$MSG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

# Step 3: Determine bump type and update the Project.toml file.
- name: 'Calculate Bump and Update Version File'
id: bump_logic
shell: python
run: |
import os
import re
import sys

# Read the commit message from the previous step's output
commit_message = os.environ['COMMIT_MESSAGE']

# Determine bump type based on the Angular Conventional Commit spec
bump_type = ''
first_line = commit_message.splitlines()[0]

if re.search(r'BREAKING CHANGE:', commit_message) or re.match(r'^\w+(\([\w-]+\))?!:', first_line):
bump_type = 'major'
elif re.match(r'^feat(\([\w-]+\))?:', first_line):
bump_type = 'minor'
elif re.match(r'^fix(\([\w-]+\))?:', first_line):
bump_type = 'patch'

if not bump_type:
print('No version bump required for this commit.')
print('::set-output name=bumped::false')
sys.exit(0)

print(f'Determined bump type: {bump_type}')

try:
with open('Project.toml', 'r+') as f:
content = f.read()
version_match = re.search(r'^version\s*=\s*\"(\d+)\.(\d+)\.(\d+)\"', content, re.M)

if not version_match:
print('Error: Could not find version in Project.toml')
sys.exit(1)

major, minor, patch = map(int, version_match.groups())

if bump_type == 'major': major, minor, patch = major + 1, 0, 0
elif bump_type == 'minor': minor, patch = minor + 1, 0
elif bump_type == 'patch': patch += 1

new_version = f'{major}.{minor}.{patch}'
print(f'Bumping version to {new_version}')

new_content = re.sub(r'^version\s*=\s*\".*\"', f'version = "{new_version}"', content, count=1, flags=re.M)

f.seek(0)
f.write(new_content)
f.truncate()

print(f'::set-output name=new_version::{new_version}')
print('::set-output name=bumped::true')

except FileNotFoundError:
print('Error: Project.toml not found.')
sys.exit(1)
env:
# Pass the message from the "Get Merge Commit Message" step
COMMIT_MESSAGE: ${{ steps.commit_message.outputs.message }}

# Step 4: Create a new pull request with the version bump.
- name: 'Create Version Bump PR'
if: steps.bump_logic.outputs.bumped == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.PAT_FOR_BUMP_PR }}
commit-message: "chore: bump version to ${{ steps.bump_logic.outputs.new_version }}"
title: "chore: Propose version bump to ${{ steps.bump_logic.outputs.new_version }}"
body: |
This PR was automatically generated to propose the next version for the Julia package.

The recommended version bump is to **${{ steps.bump_logic.outputs.new_version }}**. This was determined based on the conventional commit message of the last merged PR.

Please review and merge to apply the version update.
branch: "chore/version-bump-${{ steps.bump_logic.outputs.new_version }}"
labels: 'automated-pr, version_update'
delete-branch: true
51 changes: 51 additions & 0 deletions .github/workflows/HM_Changelog_update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Propose Changelog Update

on:
# JuliaTagBot activated
issue_comment:
types:
- created
workflow_dispatch:

jobs:
propose-changelog:
# Only when TagBot is activated, change the CHANGELOG
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
# Step 1
- name: Checkout repository
uses: actions/checkout@v4
with:
# All git history
fetch-depth: 0

# Step 2
- name: Generate cumulative CHANGELOG.md
id: changelog_generator
uses: TriPSs/conventional-changelog-action@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# output-file: "CHANGELOG.md"
input-file: "CHANGELOG.md"
version-file: "./Project.toml"
skip-commit: true
skip-tag: true
git-push: false

# Step 3
- name: Create Pull Request with updated CHANGELOG.md
if: steps.changelog_generator.outputs.skipped == 'false'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.PAT_FOR_CHANGELOG }}
commit-message: "docs(changelog): update CHANGELOG.md"
title: "Docs: Update CHANGELOG.md for new release"
body: |
This PR was automatically generated to update the `CHANGELOG.md` file for the upcoming release.

Please review the changes and merge to trigger the final release.
# Branch for changelog
branch: "chore/update-changelog"
# If exist, update
delete-branch: true
25 changes: 25 additions & 0 deletions .github/workflows/HM_TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Run TagBot on Merge

on:
pull_request:
types:
- closed
branches:
- main

jobs:
tagbot:
# When pr is merged and the branch's name is 'chore/update-changelog'
if: github.event.pull_request.merged == true && github.event.pull_request.head.ref == 'chore/update-changelog'
runs-on: ubuntu-latest
steps:
# Step 1
- name: Checkout repository
uses: actions/checkout@v4

# Step 2
- name: Run TagBot
uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.DOCUMENTER_KEY }}
31 changes: 31 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: TagBot
on:
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
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 }}
ssh: ${{ secrets.DOCUMENTER_KEY }}
Loading
Loading