Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GHA] Run buildbot checkconfig in GitHub Actions #303

Merged
merged 5 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,24 @@ permissions:

jobs:
check_zorg:
name: llvm-zorg lit tests
name: llvm-zorg litmus tests
if: github.repository_owner == 'llvm'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y llvm-18-tools buildbot
sudo apt-get install -y llvm-18-tools
sudo ln -s /usr/lib/llvm-18/build/utils/lit/lit.py /usr/bin/lit
sudo ln -s /usr/bin/FileCheck-18 /usr/bin/FileCheck
python3 -m venv venv
source venv/bin/activate
pip install buildbot{,-worker}==3.11.7 urllib3
echo "PATH=$PATH" >> "$GITHUB_ENV"
- name: Run lit tests
run: /usr/lib/llvm-18/build/utils/lit/lit.py -v --xfail jenkins/test_build.py test
- name: Run buildbot checkconfig
run: |
cd buildbot/osuosl/master
BUILDBOT_TEST=1 buildbot checkconfig
8 changes: 4 additions & 4 deletions buildbot/osuosl/master/master.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ c['buildbotNetUsageData'] = None
import config
reload(config)

# Detect if the BUILDMASTER_TEST environment variable is set and non-zero.
# This will be used to enable a local testing mode.
buildmaster_test = os.environ.get('BUILDMASTER_TEST')
test_mode = bool(buildmaster_test) and buildmaster_test != '0'
# Detect if the BUILDBOT_TEST environment variable is set and non-zero. This
# will be used to enable a local testing mode.
buildbot_test = os.environ.get('BUILDBOT_TEST')
test_mode = bool(buildbot_test) and buildbot_test != '0'
config.options['Internal'] = {}
config.options['Internal']['test_mode'] = str(test_mode)

Expand Down
13 changes: 10 additions & 3 deletions zorg/buildbot/builders/UnifiedTreeBuilder.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,15 @@ def addNinjaSteps(
step_name = "build-{}unified-tree".format(step_name)
step_description.extend(["unified", "tree"])

# Helper to for use truncating step names to 50 chars, needed due to
# <https://github.com/buildbot/buildbot/issues/3414>.
def trunc50(name):
if len(name) > 50:
return name[:47] + "..."
return name

# Build the unified tree.
f.addStep(NinjaCommand(name=step_name,
f.addStep(NinjaCommand(name=trunc50(step_name),
haltOnFailure=True,
targets=targets,
description=step_description,
Expand All @@ -223,7 +230,7 @@ def addNinjaSteps(
check_env = env or {}

for check in checks:
f.addStep(LitTestCommand(name="test-%s-%s" % (step_name, check),
f.addStep(LitTestCommand(name=trunc50("test-%s-%s" % (step_name, check)),
command=['ninja', check],
description=[
"Test", "just", "built", "components", "for",
Expand All @@ -237,7 +244,7 @@ def addNinjaSteps(
# Install just built components
if install_dir:
# TODO: Run this step only if none of the prevous failed.
f.addStep(NinjaCommand(name="install-%sall" % step_name,
f.addStep(NinjaCommand(name=trunc50("install-%sall" % step_name),
targets=["install"],
description=["Install", "just", "built", "components"],
env=env or {},
Expand Down