Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI on planet #512

Open
wipfli opened this issue Mar 13, 2023 · 12 comments
Open

CI on planet #512

wipfli opened this issue Mar 13, 2023 · 12 comments

Comments

@wipfli
Copy link
Contributor

wipfli commented Mar 13, 2023

I rent a hetzner 12 core 128 gb dedicated host. Sometimes I do planet rendering runs but most of the time it sits idle.

We could use this machine for planet scale ci if you are interested, @msbarry.

@msbarry
Copy link
Contributor

msbarry commented Mar 14, 2023

Cool thanks! What do you think would make the most sense? Run it nightly against main? Or try to run against branches?

@wipfli
Copy link
Contributor Author

wipfli commented Mar 15, 2023

I think the instance could only handle on run at a time, and the openmaptiles profile would take roughly 6 hours to complete. So a nightly run could make sense based on the code in main. What do you think?

@wipfli
Copy link
Contributor Author

wipfli commented Mar 15, 2023

I will see if I can set it up on my planetiler fork and if it works, I share the results here...

@msbarry
Copy link
Contributor

msbarry commented Mar 16, 2023

OK that sounds good to me! Feel free to submit a PR, or let me know if I need to add any credentials to the repo to get this to work.

@wipfli
Copy link
Contributor Author

wipfli commented Mar 17, 2023

Monaco on workflow_dispatch worked well. Now I am running it on the planet in my fork:

https://github.com/wipfli/planetiler/actions/runs/4450904601/jobs/7816916993

Let's see how that goes...

@wipfli
Copy link
Contributor Author

wipfli commented Mar 17, 2023

Run out of disk space. Cleaned up some files and here is the new run: https://github.com/wipfli/planetiler/actions/runs/4450904601/jobs/7817607121

@wipfli
Copy link
Contributor Author

wipfli commented Mar 18, 2023

After 4h36min yesterday's planet run on my github actions self hosted runner finished. See above link for details. The workflow uploads log.txt containing all the planetiler log output as an artifact.

What whould I do now? Should I check the the log file does not contain any warnings or errors?

@msbarry
Copy link
Contributor

msbarry commented Mar 18, 2023

Hmm I guess what I'd be interested in is if it finishes successfully, the summary of timings at the end, and any warnings/errors it emits (except for maybe tile size warnings). This prints all of the warnings for me:

cat logs.txt | grep -E '^[:0-9]+ [^DI]' | grep -v uncompressed

And this is what I use to create a file with the summary when I test each branch:

cat logs.txt | sed -n '/^.*Tile stats/,$p' > branchsummary.txt
cat logs.txt | sed -n '/^.*Exception in thread/,$p' >> branchsummary.txt

I'm not sure what it would make sense to do with those logs though? Since it's not attached to a PR that it can post them to or anything...

@wipfli
Copy link
Contributor Author

wipfli commented Mar 18, 2023

I am not sure what to do with them either. Since the compute is not sufficient for running on every push to main or even push to pull request, I think running it periodically is the best solution.

We could define some criteria for failure such that the workflow would exit as failed and create an alert notification. Some criteria for failure which come to mind are:

  • produces an error
  • produces a warning, or type of warning, or more warnings than usual
  • is significantly slower than usual

In general, I think it would be cool to have some automatic alerts for things like #511

@msbarry
Copy link
Contributor

msbarry commented Mar 18, 2023

Hmm I wonder if it could create a new issue on warnings or failures, keep updating the issue each time it runs until you close it then open a new issue if it fails later?

Alternatively it could send an email or slack notification? Or if the action just fails will people subscribed to the repo get an email?

@wipfli
Copy link
Contributor Author

wipfli commented Mar 18, 2023

When actions fail on my repos, I get a notification at github.com/notifications. You can subscribe to those by email but I found checking the github notifications page is easier.

I think it would be enough to get the notification from the failed workflow run.

@msbarry
Copy link
Contributor

msbarry commented Mar 18, 2023

Sounds good to me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants