Skip to content
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
f96a0d6
Add config file for actionlint
mhucka Oct 25, 2025
4070812
Add `ubuntu-slim` to `actionlint.yaml`
mhucka Nov 5, 2025
05c168f
Add new reusable action for setting up Bazel
mhucka Oct 25, 2025
e3456f6
Put some more cibuildwheel config settings in pyproject.toml
mhucka Nov 5, 2025
3a3cb08
Pin action versions to hashes
mhucka Nov 5, 2025
39dc2ca
Remove old versions of CI workflows
mhucka Nov 5, 2025
ca36548
Collect CI workflows back into one file
mhucka Nov 5, 2025
f9258c1
Remove workflow_dispatch option for uploading wheels
mhucka Nov 5, 2025
d596aed
Tell yamllint to allow long lines in ci.yaml
mhucka Nov 5, 2025
0880f22
Install yamllint
mhucka Nov 5, 2025
6778901
Specify the version of yamllint
mhucka Nov 5, 2025
c781bb6
Don't npm-install things globally
mhucka Nov 5, 2025
b9f4527
Skip macos-15-intel for now
mhucka Nov 5, 2025
9a3add2
Try to resolve -fopenmp on Mac
mhucka Nov 5, 2025
a9e4c56
Fix incorrect brew prefix
mhucka Nov 5, 2025
fc1ebd8
Revise & improve caching and add a bazel version parameter
mhucka Nov 6, 2025
e85131c
Fix syntax
mhucka Nov 6, 2025
71a357c
Only try to build pybind, not test it
mhucka Nov 6, 2025
114594a
Use better job names
mhucka Nov 6, 2025
cbf066c
Avoid using `set(CMAKE_CXX_FLAGS ...)`
mhucka Nov 6, 2025
808cedb
Try to get more diagnostic output
mhucka Nov 6, 2025
267f874
Take out extra debugging bits
mhucka Nov 6, 2025
231ccc6
Improve comment about the different caches
mhucka Nov 6, 2025
86109a1
Improve the worfklow name
mhucka Nov 6, 2025
26720db
Remove the debug output step at the end
mhucka Nov 6, 2025
f9d4872
Rename `set-up-bazelisk` → `set-up-bazel`
mhucka Nov 6, 2025
0f0f9b3
Try a variation of cmake that may work on Windows
mhucka Nov 6, 2025
a6bc2a1
Add a final reporter job
mhucka Nov 6, 2025
56a800c
Don't set /O2 unconditionally on Windows
mhucka Nov 6, 2025
a33b27f
All jobs that use Bazel should depend on bazel-lint
mhucka Nov 6, 2025
9e13fe0
Remove dependence on docker-test from some jobs
mhucka Nov 6, 2025
e2cc92a
Adjust more job dependencies
mhucka Nov 6, 2025
e7ab940
Merge python-lint and python-format jobs
mhucka Nov 6, 2025
aadcd6d
Simplify test logic in report-results job
mhucka Nov 6, 2025
2589dc6
Print success or failure messages in the job summary
mhucka Nov 6, 2025
0b81d4c
Try get yamllint via apt for speed
mhucka Nov 6, 2025
c60c9b8
Add a missing condition
mhucka Nov 6, 2025
92ab9cd
Try to add some parallelism to the docker-tests job
mhucka Nov 6, 2025
ff19378
Remove release_wheels.yml
mhucka Nov 6, 2025
036f369
Change /O2 handling on Windows to better approach
mhucka Nov 6, 2025
d2a8e16
Add -j to cmake build
mhucka Nov 6, 2025
97c4700
Correct a comment in library-tests
mhucka Nov 6, 2025
8bbc2a4
Streamline some pip install commands
mhucka Nov 6, 2025
5d6dc93
Avoid need for Mac runner to run hadolint
mhucka Nov 6, 2025
d32b6ee
Update .github/actions/set-up-bazel/action.yaml
mhucka Nov 7, 2025
484d498
`if: always()` does not need quotes
mhucka Nov 7, 2025
51f6fcc
Check/lint all files, not changed files
mhucka Nov 7, 2025
1b03441
Actionlint fails on ubuntu-slim, so try ubuntu-24.04
mhucka Nov 7, 2025
ec1035f
Try using different flags to actionlint
mhucka Nov 7, 2025
f39292e
Docker apparently is not available on ubuntu-slim
mhucka Nov 7, 2025
30039cc
Pin action version
mhucka Nov 7, 2025
fde9168
Remove use of Flynt problem matcher
mhucka Nov 7, 2025
6a4c008
Fix #930: add a `.gemini/styleguide.md` for Gemini Code Assist (#931)
mhucka Nov 7, 2025
432ddcc
Add debug flags to cmake invocations
mhucka Nov 8, 2025
1619753
Remove references to files that don't exist yet
mhucka Nov 8, 2025
d9ce342
Remove no-longer-relevant `base_sha` input parameter
mhucka Nov 8, 2025
27e2e7b
Add option for soft linting
mhucka Nov 8, 2025
1ef6621
Improve hadolint problem matcher
mhucka Nov 8, 2025
32a22f2
Fix docker-lint job to use a better approach
mhucka Nov 8, 2025
68d439f
Merge branch 'main' into mh-new-ci
mhucka Nov 8, 2025
2bec545
Merge branch 'main' into mh-new-ci
mhucka Nov 8, 2025
debe959
Merge branch 'main' into mh-new-ci
mhucka Nov 8, 2025
54b80a8
Replace Black problem matcher with improved one
mhucka Nov 8, 2025
db11152
Speed up python-checks by not installing all requirements
mhucka Nov 8, 2025
bc2ecca
Revert Black problem matcher
mhucka Nov 8, 2025
4a50c16
Add a warning at the end if soft linting is in effect
mhucka Nov 8, 2025
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
24 changes: 24 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Summary: config actionlint (https://github.com/rhysd/actionlint) for certain
# things we use.

self-hosted-runner:
# We don't have self-hosted runners, but we do use some of the "partner"
# runner images from https://github.com/actions/partner-runner-images
# and some runners that actionlint doesn't currently recognize.
labels:
- ubuntu-24.04-arm
- ubuntu-slim
117 changes: 117 additions & 0 deletions .github/actions/set-up-bazelisk/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Set up Bazelisk with caching
description: Installs Bazelisk and sets up multiple caches for Bazel

# Summary: reusable workflow to install Bazelisk (for Bazel) and set up Bazel
# caches. It grew out of trouble getting the existing bazel-contrib/setup-bazel
# action (from the GitHub Marketplace) to work with Netkos' "act".

inputs:
debug:
description: 'Run with debugging options'
type: boolean
required: false
default: true

permissions:
actions: write
contents: read

runs:
using: 'composite'
steps:
- name: Read .bazelversion
id: read-version
shell: bash
run: |
if [[ ! -f ".bazelversion" ]]; then
echo "::error::.bazelversion file not found in repository root."
exit 1
fi
echo "version=$(cat .bazelversion | tr -d ' \n\r')" >> "$GITHUB_OUTPUT"

- name: Install Bazelisk
env:
BAZELISK_SHOW_PROGRESS: ${{inputs.debug == 'true'}}
shell: bash
run: npm install -g @bazel/bazelisk

- name: Set up cache for Bazelisk
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/bazelisk
key: bazelisk-v1-${{runner.os}}-${{steps.read-version.outputs.version}}
restore-keys: bazelisk-v1-${{runner.os}}-

- name: Set up Bazel repository cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/bazel/repository_cache
# yamllint disable-line rule:line-length
key: bazel-repo-v1-${{runner.os}}-${{hashFiles('**/WORKSPACE', '**/BUILD', '**/BUILD.tpl', '**/*.bzl')}}
restore-keys: bazel-repo-v1-${{runner.os}}-

- name: Set up Bazel external repositories cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/bazel/output_base/external
# yamllint disable-line rule:line-length
key: bazel-external-v1-${{runner.os}}-${{hashFiles('**/WORKSPACE', '**/BUILD', '**/BUILD.tpl', '**/*.bzl')}}
restore-keys: bazel-external-v1-${{runner.os}}-

- name: Set up Bazel disk cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ~/.cache/bazel/disk_cache
key: bazel-disk-v1-${{runner.os}}-${{github.ref}}-${{github.sha}}
restore-keys: bazel-disk-v1-${{runner.os}}-${{github.ref}}-

- name: Determine the number of processors we can use
shell: bash
run: |
if [[ "${{startsWith(runner.os, 'win')}}" == "true" ]]; then
echo "num_cpus=${NUMBER_OF_PROCESSORS}" >> "$GITHUB_ENV"
else
echo "num_cpus=$(getconf _NPROCESSORS_ONLN)" >> "$GITHUB_ENV"
fi

- name: Make additions to .bazelrc for the cache configuration
shell: bash
run: |
{
echo "startup --output_base=~/.cache/bazel/output_base"
echo "build --disk_cache=~/.cache/bazel/disk_cache"
echo "build --repository_cache=~/.cache/bazel/repository_cache"
echo "build --jobs=${{env.num_cpus}}"
} >> .bazelrc

- name: Print configuration information
if: inputs.debug == 'true'
shell: bash
run: |
bazelisk --version
echo "::group::Contents of .bazelversion"
cat .bazelversion
echo "::endgroup::"
echo "::group::Contents of .bazelrc"
cat .bazelrc
echo "::endgroup::"
echo "::group::GitHub context"
echo "The job_id is: $GITHUB_JOB"
echo "The id of this action is: $GITHUB_ACTION"
echo "The run id is: $GITHUB_RUN_ID"
echo "GitHub SHA: $GITHUB_SHA"
echo "::endgroup::"
121 changes: 0 additions & 121 deletions .github/workflows/_build_wheels.yaml

This file was deleted.

95 changes: 0 additions & 95 deletions .github/workflows/_find_changes.yaml

This file was deleted.

Loading
Loading