4 Commits

Author SHA1 Message Date
485efeebaf Does this one work? 2023-08-11 14:18:52 +02:00
f803dc7771 Fixed github workflow (hopefully) 2023-08-11 14:10:35 +02:00
46c42cb67d Refactored main.go to make the entry point clearer 2023-08-11 14:09:31 +02:00
32f7720069 Added github workflow for auto-generating
pre-resleases
2023-08-11 14:05:55 +02:00
3 changed files with 78 additions and 15 deletions

View File

@ -0,0 +1,28 @@
---
name: "pre-release"
on:
push:
branches:
- "main"
jobs:
pre-release:
name: "Pre Release"
runs-on: "ubuntu-latest"
steps:
# ...
- name: "Build & test"
run: |
echo "done!"
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Development Build"
files: |
LICENSE.txt
*.jar

26
.github/workflows/tagged-release.yml vendored Normal file
View File

@ -0,0 +1,26 @@
---
name: "tagged-release"
on:
push:
tags:
- "v*"
jobs:
tagged-release:
name: "Tagged Release"
runs-on: "ubuntu-latest"
steps:
# ...
- name: "Build & test"
run: |
echo "done!"
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
LICENSE.txt
*.jar

39
main.go
View File

@ -17,6 +17,28 @@ import (
)
func main() {
readerFactory, writerFactory, solverFactory, ok := parse_arguments()
if !ok {
return
}
defer utils.Timer("TOTAL", 1)()
reader := readerFactory.Get()
maze, err := parser.Parse(reader)
utils.Check(err, "Couldn't read maze")
solver := solverFactory.Get()
solved := solver.Solve(maze)
writer := writerFactory.Get(solved)
err = writer.Write()
utils.Check(err, "Couldn't write solved maze")
}
func parse_arguments() (*reader.ReaderFactory, *writer.WriterFactory, *solver.SolverFactory, bool) {
argparser := argparse.NewParser("maze-solver", "Solves the given maze (insane, right? who would've guessed?)")
var verboseLevel *int = argparser.FlagCounter("v", "verbose", &argparse.Options{
@ -124,7 +146,7 @@ func main() {
if err := argparser.Parse(os.Args); err != nil {
fmt.Println(argparser.Usage(err))
return
return nil, nil, nil, false
}
utils.VERBOSE_LEVEL = *verboseLevel
@ -137,18 +159,5 @@ func main() {
writerFactory.PathColor = color.RGBA{255, 255, 255, 255}
writerFactory.SolutionGradient = colorgrad.Warm()
defer utils.Timer("TOTAL", 1)()
reader := readerFactory.Get()
maze, err := parser.Parse(reader)
utils.Check(err, "Couldn't read maze")
solver := solverFactory.Get()
solved := solver.Solve(maze)
writer := writerFactory.Get(solved)
err = writer.Write()
utils.Check(err, "Couldn't write solved maze")
return &readerFactory, &writerFactory, &solverFactory, true
}