GitHub Actions Reusable Workflows used in
SoftwareMill projects.
If you use a workflow from this repository, please add its usage to the corresponding section
List of repositories using this workflow in this document.
All Workflows have to be located
in the .github/worksflows path, otherwise GitHub Actions won't be able to use them.
Actions and Workflows differ in GitHub Actions. This repository contains only Workflows.
Action is a
self-contained piece of code written e.g. in JS.
example-action-use :
uses : actions/checkout@v4
Workflow is not a
code, but a collection of correlated Actions contained in yaml files.
example-workflow-use :
uses : softwaremill/github-actions-workflows/.github/workflows/auto-merge.yml@main
List of actions used in workflows
List of reusable workflows
Auto Merge
Label
Scala Steward
Publish Release
Mima
Build Scala
Test Report
Rebase cmd
Rebase cmd dispatch
This workflow is responsible for merging pull requests that are ready to be merged.
auto-merge :
uses : softwaremill/github-actions-workflows/.github/workflows/auto-merge.yml@main
List of repositories using this workflow
This workflow is responsible for labeling pull requests. It attaches label if there is exactly one file changed by
steward and this file belongs to a whitelist specified by labeler.yml
label :
uses : softwaremill/github-actions-workflows/.github/workflows/label.yml@main
List of repositories using this workflow
This workflow is responsible for running Scala Steward.
scala-steward :
uses : softwaremill/github-actions-workflows/.github/workflows/scala-steward.yml@main
with :
java-version : ' 11'
secrets :
repo-github-token : ${{secrets.REPO_GITHUB_TOKEN}}
Name
Description
Required
Default
Example
java-version
Java version used in the workflow
No
'11'
'21'
java-opts
Java options used in the workflow
No
""
"-Xmx3000M"
Name
Description
repo-github-token
-
List of repositories using this workflow
This workflow is responsible for publishing build artifacts and release notes of scala projects.
It uses multiple secrets so clause secrets: inherit has to be added to the workflow definition.
publish-release :
uses : softwaremill/github-actions-workflows/.github/workflows/publish-release.yml@main
secrets : inherit
with :
java-version : ' 11'
java-opts : " -Xmx3000M -Dsbt.task.timings=true"
sttp-native : 1
Name
Description
Required
Default
Example
java-version
Java version used in the workflow
No
'11'
'21'
java-opts
Java options used in the workflow
No
""
"-Xmx3000M -Dsbt.task.timings=true"
sttp-native
Flag indicating if the sttp-native should be included in the aggregate projects
No
0
1
List of repositories using this workflow
This workflow is responsible for running MiMa (binary compatibility checker).
mima :
uses : softwaremill/github-actions-workflows/.github/workflows/mima.yml@main
with :
java-version : ' 11'
java-opts : " -Xmx4G"
Name
Description
Required
Default
Example
java-version
Java version used in the workflow
No
'11'
'21'
java-opts
Java options used in the workflow
No
""
"-Xmx3000M -Dsbt.task.timings=true"
List of repositories using this workflow
This workflow is responsible for building Scala projects.
build-scala :
uses : softwaremill/github-actions-workflows/.github/workflows/build-scala.yml@main
with :
java-version : ' 11'
java-opts : ' -Xmx3000M -Dsbt.task.timings=true'
sttp-native : 1
install-libidn11 : true
Name
Description
Required
Default
Example
java-version
Java version used in the workflow
No
'11'
'21'
java-opts
Java options used in the workflow
No
""
"-Xmx3000M -Dsbt.task.timings=true"
sttp-native
Flag indicating if the sttp-native should be included in the aggregate projects
No
0
1
install-libidn11
Flag indicating if the libidn11 library should be installed
No
false
true
install-libidn2
Flag indicating if the libidn2 library should be installed
No
false
true
compile-documentation
Flag indicating if the project documentation should be compiled
No
false
true
List of repositories using this workflow
This workflow is responsible for generating test reports.
test-report :
uses : softwaremill/github-actions-workflows/.github/workflows/test-report.yml@main
List of repositories using this workflow
This workflow is responsible for rebasing pull requests and adding a comment to them.
rebase :
uses : softwaremill/github-actions-workflows/.github/workflows/rebase-cmd.yml@main
secrets :
repo-github-token : ${{ secrets.REPO_GITHUB_TOKEN }}
Name
Description
repo-github-token
-
List of repositories using this workflow
This workflow is responsible for dispatching rebase when it gets a command /rebase.
rebase-cmd-dispatch :
uses : softwaremill/github-actions-workflows/.github/workflows/rebase-cmd-dispatch.yml@main
secrets :
repo-github-token : ${{ secrets.REPO_GITHUB_TOKEN }}
Name
Description
repo-github-token
-
List of repositories using this workflow
Remarks
All workflows using sbt with ubuntu 24.04 need to add setup-sbt step because sbt was removed from the image as
described here .