Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
59136ac
remove `stamp_inputs` from PushInfo provider
uajith Apr 11, 2022
758bbc3
Remove use of PushInfo(tag) form push.bzl (#90)
uajith Apr 22, 2022
dc8ba6e
add Bazel 5 to CI (#92)
kzadorozhny Apr 22, 2022
1863d03
Update builder image (#93)
apesternikov Apr 22, 2022
5c706a0
fasterci on PR (#95)
apesternikov Apr 29, 2022
fd76291
Add Skydio to the list of adopters
kzadorozhny May 7, 2022
18ac32a
symlink to config (#98)
apesternikov Oct 17, 2022
f98b402
Update k8s_test_namespace.sh.tpl (#100)
apesternikov Oct 17, 2022
0782a1d
gcp oauth in sidecar (#101)
apesternikov Oct 17, 2022
6db602b
upgrade bazel deps (#102)
apesternikov Oct 18, 2022
41424ff
Update setup instructions (#103)
apesternikov Oct 18, 2022
5d2eda5
renaming master branch
kzadorozhny Oct 19, 2022
c638e7a
release pipeline (#104)
kzadorozhny Oct 19, 2022
c7dc4ad
(13:15:04) DEBUG: Rule 'k8s_test' indicated that a canonical reproduc…
apesternikov Oct 19, 2022
7ca096c
Update config.yaml (#106)
apesternikov Nov 11, 2022
c736472
parametrize dependency search (#107)
apesternikov Nov 12, 2022
5659063
k8s_deploy api for images already in registry (#108)
apesternikov Nov 22, 2022
041ba72
correct handling of deps runtimes (#109)
apesternikov Nov 28, 2022
1d4fe53
Update workspace_snippet.sh (#110)
apesternikov Nov 28, 2022
1cbc2e9
add missing name suffix configuration (#111)
kzadorozhny Nov 30, 2022
1623bb7
fix dep list query string construction (#112)
kzadorozhny Dec 2, 2022
066b469
rules_go v0.37.0 (#114)
kzadorozhny Dec 7, 2022
37bef10
--dry_run flag (#115)
apesternikov Dec 14, 2022
cf3e17c
proper runfiles path just in case binary was called directly (#116)
apesternikov Dec 14, 2022
b832f7d
secrets example (#118)
apesternikov Dec 21, 2022
b639847
strip @ from a generated target name (#123)
apesternikov Feb 22, 2023
6ffcfb3
use bash runfiles library to find location of the kustomize binary (#…
apesternikov Feb 23, 2023
e64798e
ap/update deps (#125)
apesternikov Feb 23, 2023
b7ac814
fasterci in adopters (#126)
apesternikov Feb 23, 2023
5118397
handle runfiles (#127)
apesternikov Feb 28, 2023
eafc9c3
Fix cluster override in k8s_test_setup (#129)
harjsing7 Mar 15, 2023
00b155e
Handle case where returned object from a Watch is not a Pod (#132)
harjsing7 Apr 17, 2023
64c0dc5
Allow to set pull request body when defined (#137)
eko Jul 5, 2023
dbdcf39
dont skip filtering on static namespace tests (#143)
michaelschiff Aug 4, 2023
5a9f3f7
resolver: Don't crash on nil objs (#142)
DolceTriade Aug 28, 2023
e7c85a9
Add support of bazel tags to rules_gitops (#148)
bhmiller Sep 7, 2023
0483ded
Changes to prer to allow setting prTitle and prBody did not correctly…
michaelschiff Oct 5, 2023
f2b3100
enable stamping if common_labels or common_annotations contains "{" m…
michaelschiff Oct 23, 2023
962e0e3
Add renovate.json (#151)
renovate[bot] Apr 8, 2024
00a761c
fix(deps): update module github.com/golang/protobuf to v1.5.4 (#152)
renovate[bot] Apr 8, 2024
eaac343
chore(deps): update dependency bazel to v6.5.0 (#153)
renovate[bot] Apr 8, 2024
cd1469a
Upgrade minor Bazel versions in CI (#159)
kzadorozhny Apr 8, 2024
0c304cf
chore(deps): update dependency bazel_gazelle to v0.36.0 (#155)
renovate[bot] Apr 8, 2024
61b0bc3
chore(deps): update actions/cache action to v4 (#165)
renovate[bot] Apr 8, 2024
7342e7a
Renovate configuration
kzadorozhny Apr 9, 2024
1656f16
chore(deps): update dependency com_github_bazelbuild_buildtools to v6…
renovate[bot] Apr 9, 2024
932111b
chore(deps): update dependency bazel_skylib to v1.5.0 (#156)
renovate[bot] Apr 9, 2024
d74c783
Renovate configuration
kzadorozhny Apr 9, 2024
9331812
Renovate configuration
kzadorozhny Apr 9, 2024
1dea119
Disable FasterCI for Renovate PRs
kzadorozhny Apr 9, 2024
247f857
buildifier fix
kzadorozhny Apr 9, 2024
93544cc
handle image push errors (#178)
kzadorozhny May 24, 2024
fa05503
Add support for running Kustomize on Linux ARM64 (#176)
ysinjab Jun 4, 2024
f3ae719
use lightweight checkout (#179)
kzadorozhny Jun 21, 2024
6c99281
track branches before fetch (#180)
kzadorozhny Jun 25, 2024
5bcb981
Add support for incremental stamping (#175)
randrei-adobe Jul 8, 2024
b9c9d69
Update CI image (#185)
kzadorozhny Jun 24, 2025
83e80a5
Fix runfiles merging for `@bazel_tools//tools/bash/runfiles` (#184)
fmeum Jun 24, 2025
9f9de1d
Support targeting the root folder of the target GitOps directory usin…
kzadorozhny Oct 14, 2025
7232c63
feat: rules_gitops 1.0 + bzlmod support (#193)
nickschaap Mar 23, 2026
6387a44
feat: more detailed gitops pr commit msg (#202)
nickschaap Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 2 additions & 1 deletion .bazelignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
examples
examples/
.git/
54 changes: 50 additions & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
build --verbose_failures
test --test_output=errors
########################
# Import bazelrc presets
import %workspace%/tools/preset.bazelrc

# required for rules_docker 0.15
common --incompatible_restrict_string_escapes=false
# Don’t want to push a rules author to update their deps if not needed.
# https://bazel.build/reference/command-line-reference#flag--check_direct_dependencies
# https://bazelbuild.slack.com/archives/C014RARENH0/p1691158021917459?thread_ts=1691156601.420349&cid=C014RARENH0
common --config=ruleset

# Bazel settings that apply to this repository.
# Take care to document any settings that you expect users to apply.
# Settings that apply only to CI are in .github/workflows/ci.bazelrc

# Required until this is the default; expected in Bazel 7
common --enable_bzlmod

# C++17 is required by protobuf and abseil-cpp
build --cxxopt=-std=c++17
build --host_cxxopt=-std=c++17

# Ensure that the MODULE.bazel.lock file is complete and committed.
# This is an important security measure: it ensures that developers on the
# same rule set download dependencies at the same versions with the same bits.
# This setting does not affect modules that depend on this module.
#
# When updating dependencies, use --lockfile_mode=refresh, for example:
# bazel mod tidy --lockfile_mode=refresh
#
# When testing different versions of Bazel, use --lockfile_mode=update or
# --lockfile_mode=off. The lock file format changes over time, and different
# versions of Bazel may expect different syntax. Bazel also implicitly requires
# some modules, and different versions have different dependencies, which
# also affects the contents of the lock file.
common --lockfile_mode=off

# This directory is configured in GitHub actions to be persisted between runs.
# We do not enable the repository cache to cache downloaded external artifacts
# as these are generally faster to download again than to fetch them from the
# GitHub actions cache.
common:ci --disk_cache=~/.cache/bazel

common --@protobuf//bazel/toolchains:prefer_prebuilt_protoc

# Load any settings specific to the current user.
# .bazelrc.user should appear in .gitignore so that settings are not shared with team members
# This needs to be last statement in this
# config, as the user configuration should be able to overwrite flags from this file.
# See https://docs.bazel.build/versions/master/best-practices.html#bazelrc
# (Note that we use .bazelrc.user so the file appears next to .bazelrc in directory listing,
# rather than user.bazelrc as suggested in the Bazel docs)
try-import %workspace%/.bazelrc.user
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.0.0
7.6.0
20 changes: 20 additions & 0 deletions .bcr/metadata.template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"homepage": "https://github.com/adobe/rules_gitops",
"maintainers": [
{
"name": "Nick Schaap",
"email": "schaap@adobe.com",
"github": "nickschaap",
"github_user_id": 4684894
},
{
"name": "Konstantin Zadorozhny",
"email": "zadorozh@adobe.com",
"github": "kzadorozhny",
"github_user_id": 1616702
}
],
"repository": ["github:adobe/rules_gitops"],
"versions": [],
"yanked_versions": {}
}
14 changes: 14 additions & 0 deletions .bcr/presubmit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
bcr_test_module:
module_path: '.'
matrix:
bazel: ['7.x', '8.x', '9.x']
platform: ['debian10', 'macos', 'ubuntu2004']
tasks:
run_tests:
name: 'Run test module'
bazel: ${{ bazel }}
platform: ${{ platform }}
test_flags:
- "--test_tag_filters=-skip-bazel-ci"
test_targets:
- '//...'
6 changes: 6 additions & 0 deletions .bcr/source.template.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"integrity": "**leave this alone**",
"strip_prefix": "{REPO}-{VERSION}",
"docs_url": "https://github.com/{OWNER}/{REPO}/releases/download/{TAG}/{REPO}-{TAG}.docs.tar.gz",
"url": "https://github.com/{OWNER}/{REPO}/releases/download/{TAG}/{REPO}-{TAG}.tar.gz"
}
37 changes: 0 additions & 37 deletions .fasterci/config.yaml

This file was deleted.

8 changes: 8 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#################################
# Configuration for 'git archive'
# See https://git-scm.com/docs/git-archive#ATTRIBUTES

# Don't include examples in the distribution artifact, to reduce size.
# You may want to add additional exclusions for folders or files that users don't need.
examples export-ignore
tests export-ignore
13 changes: 0 additions & 13 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,6 @@

> Replace this line with your answer.

### Snippet of the `WORKSPACE` file that includes rules_gitops rules.

> Replace this line with your answer.

### Have you found anything relevant by searching the web?

> Replace these lines with your answer.
>
> Places to look:
> - StackOverflow: http://stackoverflow.com/questions/tagged/bazel
> - GitHub issues: https://github.com/bazelbuild/bazel/issues
> - Slack: https://bazelbuild.slack.com

### Any other information, logs, or outputs that you want to share?

> Replace these lines with your answer.
Expand Down
67 changes: 18 additions & 49 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,27 @@ name: CI
on:
push:
branches:
- master
- main
- feature/*
pull_request:
branches: [master]
branches: [main]

jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-24.04
strategy:
matrix:
bazel-version:
- 3.7.1
- 4.0.0
- 7.6.0
- 8.5.0
- 9.0.0
env:
USE_BAZEL_VERSION: ${{ matrix.bazel-version }}
steps:
- uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v3
- name: Mount Bazel cache
uses: actions/cache@v1
uses: actions/cache@v4
with:
path: ~/.cache/bazel
key: bazel-${{ matrix.bazel-version }}-${{ github.sha }}
Expand All @@ -32,51 +34,18 @@ jobs:
run: |
TOOLS_DIR="${HOME}/.cache/tools"
mkdir -p "${TOOLS_DIR}/bin/"
curl -Ls -o "${TOOLS_DIR}/bin/bazel" "https://github.com/bazelbuild/bazelisk/releases/download/v1.3.0/bazelisk-linux-amd64"
curl -Ls -o "${TOOLS_DIR}/bin/bazel" "https://github.com/bazelbuild/bazelisk/releases/download/v1.14.0/bazelisk-linux-amd64"
chmod +x "${TOOLS_DIR}/bin/bazel"
curl -Ls -o "${TOOLS_DIR}/bin/buildifier" "https://github.com/bazelbuild/buildtools/releases/download/0.29.0/buildifier"
chmod +x "${TOOLS_DIR}/bin/buildifier"
curl -Ls -o "${TOOLS_DIR}/bin/kind" "https://github.com/kubernetes-sigs/kind/releases/download/v0.11.1/kind-linux-amd64"
chmod +x "${TOOLS_DIR}/bin/kind"
echo "${TOOLS_DIR}/bin" >> $GITHUB_PATH
- name: Setup kind cluster
run: |
./create_kind_cluster.sh
- name: Build
run: |
bazel build //...
- name: Check
# run downloaded version of buildifier to reduce uncached build times
# see: bazel run //:buildifier-check
run: |
find . -type f \(\
-name '*.bzl' \
-o -name '*.sky' \
-o -name BUILD \
-o -name BUILD.bazel \
-o -name WORKSPACE \
-o -name WORKSPACE.bazel \
\) | xargs buildifier \
-mode=check \
-lint=warn \
--warnings=-module-docstring,-function-docstring,-function-docstring-header,-function-docstring-args,-function-docstring-return,-print \
|| {
buildifier_exit_code=$?
echo "Error: failed buildifier checks. Please run \"bazel run //:buildifier-fix\" and commit the changes."
exit $buildifier_exit_code
}
- name: Test
run: |
bazel test //...
- name: Build examples
run: |
cd examples
bazel build //...
- name: Test examples
bazel --output_base=~/.bazel/ test //... --config=ci
- name: Build helloworld
run: |
cd examples
bazel test //...
- name: E2E
cd examples/helloworld
bazel --output_base=~/.bazel/ build //...
- name: Build legacy docker
if: matrix.bazel-version == '7.6.0'
run: |
cd examples
./e2e-test.sh
cd examples/legacy_docker
bazel --output_base=~/.bazel/ build //...
21 changes: 21 additions & 0 deletions .github/workflows/conventional-commits.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This helps the tag.yaml action to automatically create new releases
#
# tag.yaml requires all commits to follow the conventional commit pattern so that it can
# automatically derive the next release version based on the commit history

name: Verify PR title/description
on:
pull_request_target:
types:
- opened
- edited
- synchronize
permissions:
pull-requests: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35 changes: 35 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Publish new releases to Bazel Central Registry.
name: Publish to BCR
on:
# Run the publish workflow after a successful release
# Will be triggered from the release.yaml workflow
workflow_call:
inputs:
tag_name:
required: true
type: string
secrets:
publish_token:
required: true
# In case of problems, let release engineers retry by manually dispatching
# the workflow from the GitHub UI
workflow_dispatch:
inputs:
tag_name:
description: git tag being released
required: true
type: string
jobs:
publish:
uses: bazel-contrib/publish-to-bcr/.github/workflows/publish.yaml@v1.0.0
with:
tag_name: ${{ inputs.tag_name }}
# GitHub repository which is a fork of the upstream where the Pull Request will be opened.
registry_fork: adobe/bazel-central-registry
permissions:
attestations: write
contents: write
id-token: write
secrets:
# Necessary to push to the BCR fork, and to open a pull request against a registry
publish_token: ${{ secrets.publish_token || secrets.BCR_PUBLISH_TOKEN }}
34 changes: 34 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Cut a release whenever a new tag is pushed to the repo.
name: Release
on:
# Can be triggered from the tag.yaml workflow
workflow_call:
inputs:
tag_name:
required: true
type: string
secrets:
publish_token:
required: true
# Or, developers can manually push a tag from their clone
push:
tags:
- "v*.*.*"
permissions:
id-token: write
attestations: write
contents: write
jobs:
release:
uses: bazel-contrib/.github/.github/workflows/release_ruleset.yaml@v7.2.2
with:
release_files: rules_gitops-*.tar.gz
prerelease: false
tag_name: ${{ inputs.tag_name || github.ref_name }}
publish:
needs: release
uses: ./.github/workflows/publish.yaml
with:
tag_name: ${{ inputs.tag_name || github.ref_name }}
secrets:
publish_token: ${{ secrets.publish_token || secrets.BCR_PUBLISH_TOKEN }}
Loading