Skip to content

Drone to GitHub Actions Migration #8353

@anatoliykmetyuk

Description

@anatoliykmetyuk

The process takes several steps:

  • Run test, test_bootstrapped, and community_build on GH Actions on each push and PR event. Also, run sbt and java11 tests on tags (probably won't happen until next release). The runs happen on our machines.
  • Release nightly builds from GitHub Actions. Generate the documentation for them. Disable CRON job that triggers the nightly builds on Drone and use GitHub Actions scheduler instead.
  • Make Dotty releases a responsibility of GitHub Actions, transition their execution on our machines and ditch Drone CI altogether.
  • Implement SBT plugin release capability.

Cleanup work to be done after the migration is finished:

  • Drop "update" command from tests. It was needed for the caching of jars which involved generating a new docker image on each dependency update. GH Actions uses a different caching strategy so "update" becomes unneeded.
  • Upload a new docker image, without the cache, to LAMP's Dockerhub organization. Currently, the one uploaded to my account is used.
  • Describe the setup in a separate repo, similarly to how it is done with lampepfl/dotty-drone for Drone.
  • Rerun failing community tests a few times if they fail to mitigate concurrency effects. Is relevant for the Intent framework which is prone to spontaneous failures due to exceeded timeouts.
  • Caching: check the logs of the jobs and ensure they don't do unnecessary fetching from the Internet, everything should be cached.
  • Abstract the cleanup step into a shell script.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions