cron expression parser #127

Merged
Jef Roosens merged 20 commits from cron into dev 2022-04-12 21:37:03 +02:00
Owner

This PR implements a parser for a subset of the cron expression syntax. I want to merge this separately from the actual cron implementation itself because I'd like the testing workflow to be added to dev first. It's also already a rather big PR, so making it any bigger would not be a good idea.

The syntax for the cron expressions are of the form a b c d, where c & d are optional & will be replaced by * if absent. Each of the four parts can be one or multiple (divided using ,) of *, n, n-m, */n, n/m or n-m/o, with n, m & o being positive whole numbers.

I'm keeping this PR in WIP until I've written an adequate amount of tests for both the parser & the 'next occurence' calculation function.

This PR implements a parser for a subset of the cron expression syntax. I want to merge this separately from the actual cron implementation itself because I'd like the testing workflow to be added to dev first. It's also already a rather big PR, so making it any bigger would not be a good idea. The syntax for the cron expressions are of the form `a b c d`, where c & d are optional & will be replaced by `*` if absent. Each of the four parts can be one or multiple (divided using `,`) of `*`, `n`, `n-m`, `*/n`, `n/m` or `n-m/o`, with n, m & o being positive whole numbers. I'm keeping this PR in WIP until I've written an adequate amount of tests for both the parser & the 'next occurence' calculation function.
Jef Roosens added this to the 0.3.0 milestone 2022-04-12 11:15:22 +02:00
Jef Roosens added the
enhancement
label 2022-04-12 11:15:22 +02:00
Jef Roosens added 13 commits 2022-04-12 11:15:23 +02:00
Start of cron implementation
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/build Pipeline failed
41ee08045b
Ran formatter
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/build Pipeline failed
e890128bda
Gave all modules own directory; added test CI pipeline
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
f92a20fcf8
Alpha version cron 'next' function
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/build Pipeline failed
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/test Pipeline was successful
135b6c3d7f
Added some much-needed documentation
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
0e5f31e649
Tests n bug fixes
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline failed
ci/woodpecker/push/lint Pipeline failed
f4bb03f488
Jef Roosens added 14 commits 2022-04-12 11:30:25 +02:00
Merge pull request 'Release 0.1.0' (#65) from dev into main
Some checks failed
ci/woodpecker/tag/lint Pipeline was successful
ci/woodpecker/tag/gitea Pipeline was successful
ci/woodpecker/push/deploy unknown status
ci/woodpecker/push/lint unknown status
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/tag/builder Pipeline was successful
ci/woodpecker/tag/build Pipeline was successful
ci/woodpecker/tag/docker Pipeline was successful
ci/woodpecker/tag/deploy Pipeline failed
ci/woodpecker/push/builder unknown status
ci/woodpecker/push/docker Pipeline was successful
dec2e9d759
Reviewed-on: Chewing_Bever/vieter#65
Added route to request desc file; updated builder for new route (fixes #118)
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/build Pipeline was successful
ebe01c2d44
Solved the "removing old packages" problem (I think)
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
a65207f961
Updated changelog
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
62bee78955
Merge pull request 'Old packages are now removed properly' (#120) from remove-old-packages into dev
Some checks failed
ci/woodpecker/push/lint unknown status
ci/woodpecker/push/arch Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/docker Pipeline was successful
8e7d3508d2
Reviewed-on: Chewing_Bever/vieter#120
Bumped version in cli
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
aacadca7a8
Merge branch 'main' into release-0.2.0
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
207344a99d
Removed unnecessary log output
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
3b15066329
Merge pull request 'Release 0.2.0' (#121) from release-0.2.0 into main
Some checks failed
ci/woodpecker/tag/lint Pipeline was successful
ci/woodpecker/tag/arch Pipeline was successful
ci/woodpecker/tag/build Pipeline was successful
ci/woodpecker/tag/gitea Pipeline was successful
ci/woodpecker/tag/docker Pipeline was successful
ci/woodpecker/push/lint unknown status
ci/woodpecker/push/arch Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/docker Pipeline was successful
4b6a661d71
Reviewed-on: Chewing_Bever/vieter#121
Jef Roosens added 1 commit 2022-04-12 11:37:51 +02:00
Jef Roosens added 1 commit 2022-04-12 14:22:54 +02:00
Jef Roosens added 1 commit 2022-04-12 20:53:32 +02:00
Ran vfmt
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/pr/test Pipeline is pending
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/pr/arch Pipeline is pending
ci/woodpecker/pr/build Pipeline is pending
ci/woodpecker/pr/lint unknown status
ci/woodpecker/pr/docker unknown status
ci/woodpecker/push/build Pipeline failed
ci/woodpecker/push/test Pipeline failed
e6033f9ab4
Jef Roosens added 1 commit 2022-04-12 21:16:29 +02:00
Actually possibly kinda decent cron next func
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
1116fee3fc
Jef Roosens added 1 commit 2022-04-12 21:23:55 +02:00
Added two more test dates; pleased v vet
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
5ce431aa4a
Author
Owner

I'm tempted to merge this PR prematurely. It's a critical part for developing all other parts of the improved builder system, & testing it will take a long time anyways so it might be useful to just do this throughout development of the 0.3.0 release.

I'm tempted to merge this PR prematurely. It's a critical part for developing all other parts of the improved builder system, & testing it will take a long time anyways so it might be useful to just do this throughout development of the 0.3.0 release.
Jef Roosens changed title from WIP: cron expression parser to cron expression parser 2022-04-12 21:24:45 +02:00
Jef Roosens added 1 commit 2022-04-12 21:28:58 +02:00
Added 'WIP' notice for cron cli
Some checks failed
ci/woodpecker/push/arch unknown status
ci/woodpecker/push/docker unknown status
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
bd0c276fd8
Jef Roosens merged commit 05b34d3ffd into dev 2022-04-12 21:37:03 +02:00
This repository is archived. You cannot comment on pull requests.
No description provided.