Skip to content

Workflow started by copybara-service[bot]. #5225

Workflow started by copybara-service[bot].

Workflow started by copybara-service[bot]. #5225

Workflow file for this run

name: CEL-Java CI
run-name: Workflow started by ${{ github.actor }}.
on:
push:
branches:
- 'main'
pull_request:
branches:
- 'main'
# Cancel previous workflows on the PR when there are multiple fast commits.
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
Bazel-Tests:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 Job is running on a ${{ runner.os }} server!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- name: Setup Bazel
uses: bazel-contrib/[email protected]
with:
# Avoid downloading Bazel every time.
bazelisk-cache: true
# Store build cache per workflow.
disk-cache: ${{ github.workflow }}
# Share repository cache between workflows.
repository-cache: true
- name: Bazel Output Version
run: bazelisk --version
- name: Java 8 Build
run: bazel build ... --java_language_version=8 --java_runtime_version=8 --build_tag_filters=-conformance_maven
- name: Bazel Test
# Exclude codelab exercises as they are intentionally made to fail
# Exclude maven conformance tests. They are only executed when there's version change.
run: bazelisk test ... --deleted_packages=//codelab/src/test/codelab --test_output=errors --test_tag_filters=-conformance_maven --build_tag_filters=-conformance_maven
# -- Start of Maven Conformance Tests (Ran only when there's version changes) --
- name: Get changed file
id: changed_file
uses: tj-actions/changed-files@v44
with:
files: publish/cel_version.bzl
- name: Verify Version Consistency
if: steps.changed_file.outputs.any_changed == 'true'
run: |
CEL_VERSION=$(grep 'CEL_VERSION =' publish/cel_version.bzl | cut -d '"' -f 2)
MODULE_VERSION=$(grep 'dev.cel:cel' MODULE.bazel | cut -d '"' -f 2 | cut -d ':' -f 3)
if [ -z "$CEL_VERSION" ] || [ -z "$MODULE_VERSION" ]; then
echo "❌ Error: Could not extract one or both version strings."
exit 1
fi
echo "Version in publish/cel_version.bzl: ${CEL_VERSION}"
echo "Version in MODULE.bazel: ${MODULE_VERSION}"
if [ "$CEL_VERSION" != "$MODULE_VERSION" ]; then
echo "❌ Error: Version mismatch between files!"
exit 1
fi
echo "✅ Versions match."
- name: Run Conformance Maven Test on Version Change
if: steps.changed_file.outputs.any_changed == 'true'
run: bazelisk test //conformance/src/test/java/dev/cel/conformance:conformance_maven --test_output=errors
# -- End of Maven Conformance Tests --
- name: Unwanted Dependencies
run: .github/workflows/unwanted_deps.sh
- run: echo "🍏 This job's status is ${{ job.status }}."