Skip to content

sbt/sbt - Scala snapshot @ scala/scala3 / main #88

sbt/sbt - Scala snapshot @ scala/scala3 / main

sbt/sbt - Scala snapshot @ scala/scala3 / main #88

Workflow file for this run

name: "Open CB: single project manual build"
run-name: ${{ inputs.build-name != '' && inputs.build-name || format('{0} - Scala {1} @ {2} / {3} {4}{5}', inputs.project-name, inputs.published-scala-version != '' && inputs.published-scala-version || 'snapshot', inputs.repository-url, inputs.repository-branch, inputs.extra-scalac-options != '' && format('extraScalacOptions={0} ', inputs.extra-scalac-options) || '', inputs.disabled-scalac-options != '' && format('disabledScalacOptions={0}', inputs.disabled-scalac-options) || '' ) }}
on:
workflow_dispatch:
inputs:
build-name:
type: string
description: "Custom name of the job in GitHub Actions"
default: ""
project-name:
type: string
description: "Name of a project to build using GitHub coordinates <org>/<repo> eg. VirtusLab/scala-cli"
published-scala-version:
type: string
description: "Published Scala version to use, if empty new version of compiler would be build with default name based on the selected repository"
repository-url:
type: string
description: "GitHub repository URL for compiler to build, ignored when published-scala-version is defined"
default: "scala/scala3"
repository-branch:
type: string
description: "GitHub repository branch for compiler to build, ignored when published-scala-version is defined"
default: "main"
extra-scalac-options:
type: string
description: "List of scalacOptions which should be used when building projects. Multiple entires should be seperated by a single comma character `,`"
default: ""
disabled-scalac-options:
type: string
description: "List of scalacOptions which should be filtered out when building projects."
default: ""
execute-tests:
type: boolean
description: "Should the workflow execute tests of the build projects (compile only by default)"
default: false
jobs:
setup-build:
runs-on: ubuntu-22.04
continue-on-error: false
outputs:
scala-version: ${{ steps.setup.outputs.scala-version }}
maven-repo-url: ${{ steps.setup.outputs.maven-repo-url }}
steps:
- name: "Git Checkout"
uses: actions/checkout@v4
- name: "Setup build"
uses: ./.github/actions/setup-build
id: setup
with:
scala-version: ${{ inputs.published-scala-version }}
repository-url: ${{ inputs.repository-url }}
repository-branch: ${{ inputs.repository-branch }}
# This name is required to ensure we can get the build-url.
build-project:
runs-on: ubuntu-22.04
needs: [setup-build]
continue-on-error: false
timeout-minutes: 60
steps:
- name: "Git Checkout"
uses: actions/checkout@v4
- name: "Build project"
uses: ./.github/actions/build-project
with:
project-name: ${{ inputs.project-name }}
custom-build-id: ${{ inputs.build-name }}
extra-scalac-options: ${{ inputs.extra-scalac-options }}
disabled-scalac-options: ${{ inputs.disabled-scalac-options }}
execute-tests: ${{ inputs.execute-tests }}
scala-version: ${{ needs.setup-build.outputs.scala-version }}
maven-repo-url: ${{ needs.setup-build.outputs.maven-repo-url }}
elastic-user: ${{ secrets.OPENCB_ELASTIC_USER }}
elastic-password: ${{ secrets.OPENCB_ELASTIC_PSWD }}
container-registry-username: ${{ github.actor }}
container-registry-token: ${{ secrets.GHCR_TOKEN }}
workflow-name: "build-project"
akka-repository-token: ${{ secrets.OPENCB_AKKA_REPO_TOKEN }}