Skip to content

Check consistency and compilability of all GitHub workflows #780

Check consistency and compilability of all GitHub workflows

Check consistency and compilability of all GitHub workflows #780

Workflow file for this run

# This file was generated using Kotlin DSL (.github/workflows/build.main.kts).
# If you want to modify the workflow, please change the Kotlin file and regenerate this YAML file.
# Generated with https://github.com/typesafegithub/github-workflows-kt
name: 'Build'
on:
push:
branches:
- 'main'
pull_request: {}
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
check_yaml_consistency:
name: 'Check YAML consistency'
runs-on: 'ubuntu-latest'
steps:
- id: 'step-0'
name: 'Check out'
uses: 'actions/checkout@v4'
- id: 'step-1'
name: 'Execute script'
run: 'rm ''.github/workflows/build.yaml'' && ''.github/workflows/build.main.kts'''
- id: 'step-2'
name: 'Consistency check'
run: 'git diff --exit-code ''.github/workflows/build.yaml'''
build-on-UbuntuLatest:
runs-on: 'ubuntu-latest'
needs:
- 'check_yaml_consistency'
steps:
- id: 'step-0'
uses: 'actions/checkout@v4'
- id: 'step-1'
name: 'Set up JDK'
uses: 'actions/setup-java@v4'
with:
java-version: '11'
distribution: 'zulu'
cache: 'gradle'
- id: 'step-2'
name: 'Cache Kotlin Konan'
uses: 'actions/cache@v4'
with:
path: '~/.konan/**/*'
key: 'kotlin-konan-${{ runner.os }}'
- id: 'step-3'
name: 'Set up Gradle'
uses: 'gradle/actions/setup-gradle@v4'
with:
gradle-version: 'wrapper'
- id: 'step-4'
name: 'Build'
run: './gradlew build --stacktrace'
build-on-MacOSLatest:
runs-on: 'macos-latest'
needs:
- 'check_yaml_consistency'
steps:
- id: 'step-0'
uses: 'actions/checkout@v4'
- id: 'step-1'
name: 'Set up JDK'
uses: 'actions/setup-java@v4'
with:
java-version: '11'
distribution: 'zulu'
cache: 'gradle'
- id: 'step-2'
name: 'Cache Kotlin Konan'
uses: 'actions/cache@v4'
with:
path: '~/.konan/**/*'
key: 'kotlin-konan-${{ runner.os }}'
- id: 'step-3'
name: 'Set up Gradle'
uses: 'gradle/actions/setup-gradle@v4'
with:
gradle-version: 'wrapper'
- id: 'step-4'
name: 'Build'
run: './gradlew build --stacktrace'
build-on-WindowsLatest:
runs-on: 'windows-latest'
needs:
- 'check_yaml_consistency'
steps:
- id: 'step-0'
uses: 'actions/checkout@v4'
- id: 'step-1'
name: 'Set up JDK'
uses: 'actions/setup-java@v4'
with:
java-version: '11'
distribution: 'zulu'
cache: 'gradle'
- id: 'step-2'
name: 'Cache Kotlin Konan'
uses: 'actions/cache@v4'
with:
path: '~/.konan/**/*'
key: 'kotlin-konan-${{ runner.os }}'
- id: 'step-3'
name: 'Set up Gradle'
uses: 'gradle/actions/setup-gradle@v4'
with:
gradle-version: 'wrapper'
- id: 'step-4'
name: 'Build'
run: './gradlew build --stacktrace'
build_kotlin_scripts:
name: 'Build Kotlin scripts'
runs-on: 'ubuntu-latest'
needs:
- 'check_yaml_consistency'
steps:
- id: 'step-0'
uses: 'actions/checkout@v4'
- id: 'step-1'
run: |-
find -name *.main.kts -print0 | while read -d $'\0' file
do
echo "Compiling $file..."
kotlinc -Werror -Xallow-any-scripts-in-source-roots -Xuse-fir-lt=false "$file"
done
workflows_consistency_check:
name: 'Run consistency check on all GitHub workflows'
runs-on: 'ubuntu-latest'
needs:
- 'check_yaml_consistency'
steps:
- id: 'step-0'
uses: 'actions/checkout@v4'
- id: 'step-1'
run: 'cd .github/workflows'
- id: 'step-2'
name: 'Regenerate all workflow YAMLs'
run: |-
find -name "*.main.kts" -print0 | while read -d $'\0' file
do
if [ -x "$file" ]; then
echo "Regenerating $file..."
($file)
fi
done
- id: 'step-3'
name: 'Check if some file is different after regeneration'
run: 'git diff --exit-code .'