Skip to content

CI

CI #1645

Workflow file for this run

name: CI
on:
schedule:
- cron: '0 8 */10 * *'
push:
branches:
- 'master'
tags:
- '*'
merge_group:
pull_request:
workflow_dispatch:
jobs:
event_file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Event File
path: ${{ github.event_path }}
build-jvm:
name: "Build JVM"
uses: "./.github/workflows/build-jvm.yml"
build-snapshots:
name: "Build Snapshots"
uses: "./.github/workflows/build-snapshots.yml"
build-python:
name: "Build Python"
needs: build-jvm
uses: "./.github/workflows/build-python.yml"
test-jvm:
name: "Test JVM"
needs: build-jvm
uses: "./.github/workflows/test-jvm.yml"
test-python:
name: "Test Python"
needs: build-jvm
uses: "./.github/workflows/test-python.yml"
test-snapshots-jvm:
name: "Test Snapshots"
needs: build-snapshots
uses: "./.github/workflows/test-snapshots.yml"
test-release:
name: "Test Release"
needs: build-jvm
uses: "./.github/workflows/test-release.yml"
check:
name: "Check"
needs: build-jvm
uses: "./.github/workflows/check.yml"
# A single job that succeeds if all jobs listed under 'needs' succeed.
# This allows to configure a single job as a required check.
# The 'needed' jobs then can be changed through pull-requests.
test_success:
name: "Test success"
if: always()
runs-on: ubuntu-latest
# the if clauses below have to reflect the number of jobs listed here
needs: [build-jvm, build-python, test-jvm, test-python, test-release]
env:
RESULTS: ${{ join(needs.*.result, ',') }}
steps:
- name: "Success"
# we expect all required jobs to have success result
if: env.RESULTS == 'success,success,success,success,success'
run: true
shell: bash
- name: "Failure"
# we expect all required jobs to have success result, fail otherwise
if: env.RESULTS != 'success,success,success,success,success'
run: false
shell: bash