Dependency updates
zipx splits dependency automation in two:
Dependabot (
github-actions) — bumps SHA-pinned GitHub Actions in generated workflows; sync back via the pin file (zipxDependabotSync/zipxActionsPull). See Action pins.Scala Steward — bumps sbt / Scala / library dependencies. Opt in with
zipxScalaSteward := true.
Scala Steward (opt-in)
zipxScalaSteward := true
Then zipxWorkflowGenerate also writes .github/workflows/zipx-scala-steward.yml: weekly cron (Sunday 00:00 UTC)
plus workflow_dispatch, using the SHA-pinned scala-steward-org/scala-steward-action and the default GitHub
Actions token (no APP_* secrets).
Required repo/org setting: Allow GitHub Actions to create and approve pull requests.
zipx dogfoods this (zipxScalaSteward := true in the root build).
An alternative with no workflow is installing the public Scala Steward GitHub App on the org/repo. zipx’s opt-in is the self-hosted Action path so pins and schedule stay in the build.
ScalaStewardWorkflow.render(ActionPins.Defaults, "ubuntu-latest")# Generated by zipx — do not edit. Run 'sbt zipxWorkflowGenerate' to regenerate.
name: Scala Steward
"on":
schedule:
- cron: "0 0 * * 0"
workflow_dispatch: null
permissions:
contents: write
pull-requests: write
jobs:
scala-steward:
name: Scala Steward
runs-on: ubuntu-latest
steps:
- name: Scala Steward
uses: scala-steward-org/scala-steward-action@ff09222640622d474d0d9f93c04aefedd125b187 # v2.92.0
Typed cron
Schedules use a typed [[zipx.workflow.Cron]] AST (not raw strings):
Cron.weekly(DayOfWeek.Sunday) // 0 0 * * 0
Cron.weekly(DayOfWeek.Monday, hour = 6) // 0 6 * * 1
Cron.daily(hour = 3, minute = 15) // 15 3 * * *
Cron.hourly(minute = 45) // 45 * * * *
Cron.raw("0 */6 * * *") // escape hatch
Cron / DayOfWeek are re-exported from the plugin autoImport.
List(
s"weekly: ${Cron.weekly(DayOfWeek.Monday, hour = 6, minute = 30).render}",
s"daily: ${Cron.daily(hour = 3).render}",
s"raw: ${Cron.raw("0 */6 * * *").render}",
).mkString("\n")weekly: 30 6 * * 1
daily: 0 3 * * *
raw: 0 */6 * * *