chore: enable go, shell, yaml formatters and bazel run //:format
diff --git a/.aspect/workflows/config.yaml b/.aspect/workflows/config.yaml
index e406bca..a3654a6 100644
--- a/.aspect/workflows/config.yaml
+++ b/.aspect/workflows/config.yaml
@@ -1,4 +1,3 @@
----
queue: bazel-lib-default
workspaces:
.:
diff --git a/.circleci/user-config.yml b/.circleci/user-config.yml
index f9cf524..a11cf53 100644
--- a/.circleci/user-config.yml
+++ b/.circleci/user-config.yml
@@ -32,7 +32,6 @@
# `aspect-workflows-` and job names prefixed with `aw-`. Conflicting workflow or
# job names will result in a bad configuration merge.
version: 2.1
-
jobs:
user-job:
docker:
@@ -40,7 +39,6 @@
steps:
- checkout
- run: echo "Example user CircleCI job that is not generated by Aspect Workflows."
-
workflows:
user-workflow:
jobs:
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 55b1859..d9f2495 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -1,5 +1,4 @@
name: CI
-
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
@@ -7,16 +6,13 @@
branches: [main, 1.x]
pull_request:
branches: [main, 1.x]
-
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
-
concurrency:
# Cancel previous actions from the same PR or branch except 'main' branch.
# See https://docs.github.com/en/actions/using-jobs/using-concurrency and https://docs.github.com/en/actions/learn-github-actions/contexts for more info.
group: concurrency-group::${{ github.workflow }}::${{ github.event.pull_request.number > 0 && format('pr-{0}', github.event.pull_request.number) || github.ref_name }}${{ github.ref_name == 'main' && format('::{0}', github.run_id) || ''}}
cancel-in-progress: ${{ github.ref_name != 'main' }}
-
jobs:
# Prepares dynamic test matrix values
matrix-prep:
@@ -66,7 +62,6 @@
bazel-version: ${{ steps.bazel-version.outputs.res }}
config: ${{ steps.config.outputs.res }}
os: ${{ steps.os.outputs.res }}
-
test:
runs-on: ${{ matrix.os }}-latest
needs:
@@ -120,10 +115,8 @@
os: macos
- folder: .
os: windows
-
steps:
- uses: actions/checkout@v4
-
- name: Mount bazel caches
uses: actions/cache@v4
with:
@@ -132,7 +125,6 @@
~/.cache/bazel-repository-cache
key: bazel-cache-${{ matrix.bazel-version.version }}-${{ matrix.bzlmod }}-${{ matrix.os }}-${{ matrix.folder }}-${{ hashFiles('.bazelrc', '.bazelversion', '.bazeliskrc', '**/BUILD', '**/BUILD.bazel', '**/*.bzl', 'WORKSPACE', 'WORKSPACE.bazel', 'WORKSPACE.bzlmod', 'MODULE.bazel') }}
restore-keys: bazel-cache-${{ matrix.bazel-version.version }}-${{ matrix.bzlmod }}-${{ matrix.os }}-${{ matrix.folder }}-
-
- name: Configure Bazel version
working-directory: ${{ matrix.folder }}
shell: bash
@@ -146,7 +138,6 @@
# root .bazelrc brings these in with try-imports. In this CI workflows, we explicitly
# bring in the version specific bazelrc file with --bazelrc when we invoke bazel.
rm ${GITHUB_WORKSPACE//\\/\/}/.aspect/bazelrc/local/*.bazelrc
-
- name: Write rbe credentials
if: ${{ matrix.config == 'rbe' }}
working-directory: ${{ matrix.folder }}
@@ -156,14 +147,12 @@
echo "build --remote_header=x-buildbuddy-api-key=$BUILDBUDDY_API_KEY" > $HOME/.bazelrc
env:
BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }}
-
# TODO: remove this block once we have Aspect CLI Windows releases
- name: Don't use Aspect CLI on Windows
if: matrix.os == 'windows'
working-directory: ${{ matrix.folder }}
shell: bash
run: rm -f .bazeliskrc
-
- name: bazel test //...
working-directory: ${{ matrix.folder }}
shell: bash
@@ -178,13 +167,11 @@
--build_tag_filters=-skip-on-bazel${{ matrix.bazel-version.major }} \
--enable_bzlmod=${{ matrix.bzlmod }} \
//...
-
- name: Integration tests
# Don't run integration tests on Windows since they are bash scripts and Windows runs Powershell
if: matrix.folder == '.' && matrix.os != 'windows' && matrix.bazel-version.major != '6'
# Find all shell scripts within e2e, echo the filename, execute, fail on error
run: find e2e/*.sh -maxdepth 1 -type f -exec sh -c 'echo "\n\n------------------------------- $0 -------------------------------" && BZLMOD_FLAG=${{ steps.set_bzlmod_flag.outputs.bzlmod_flag }} "$0" || kill $PPID' \{\} \;
-
- name: Verify bcr patches
if: matrix.folder == '.' && matrix.bzlmod == '1' && matrix.os == 'ubuntu' && matrix.bazel-version.major != '6'
run: patch --dry-run -p1 < .bcr/patches/*.patch
diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml
index 617d867..75b2868 100644
--- a/.github/workflows/conventional-commits.yml
+++ b/.github/workflows/conventional-commits.yml
@@ -1,15 +1,12 @@
name: Verify PR title/description
-
on:
pull_request_target:
types:
- opened
- edited
- synchronize
-
permissions:
pull-requests: read
-
jobs:
check:
runs-on: ubuntu-latest
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f04d023..52b7a81 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -2,12 +2,10 @@
# You should use an annotated tag, like `git tag -a v1.2.3`
# and put the release notes into the commit message for the tag.
name: Release
-
on:
push:
tags:
- "v*.*.*"
-
jobs:
build:
# Go cross-compilation works from linux -> any platform
@@ -28,7 +26,6 @@
name: artifacts
path: artifacts/
retention-days: 1
-
release:
needs: build
runs-on: ubuntu-latest
@@ -37,10 +34,8 @@
# Fetch the built artifacts from build jobs above and extract into
# ${GITHUB_WORKSPACE}/artifacts/*
- uses: actions/download-artifact@v4
-
- name: Prepare workspace snippet
run: .github/workflows/release_prep.sh > release_notes.txt
-
- uses: softprops/action-gh-release@v2
with:
# Use GH feature to populate the changelog automatically
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 55ce95b..8720965 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -5,7 +5,6 @@
# Commitizen runs in commit-msg stage
# but we don't want to run the other hooks on commit messages
default_stages: [commit]
-
repos:
# Check formatting and lint for starlark code
- repo: https://github.com/keith/pre-commit-buildifier
diff --git a/e2e/smoke/basic.bats b/e2e/smoke/basic.bats
index 03d254c..97dac55 100644
--- a/e2e/smoke/basic.bats
+++ b/e2e/smoke/basic.bats
@@ -2,7 +2,6 @@
bats_load_library "bats-assert"
@test 'basic' {
- run echo 'have'
- assert_output 'have'
+ run echo 'have'
+ assert_output 'have'
}
-
diff --git a/lib/tests/bats/additional_lib.bats b/lib/tests/bats/additional_lib.bats
index 5d1438d..8846af2 100644
--- a/lib/tests/bats/additional_lib.bats
+++ b/lib/tests/bats/additional_lib.bats
@@ -3,6 +3,5 @@
bats_load_library 'bats-custom'
@test 'env' {
- run custom_test_fn
+ run custom_test_fn
}
-
diff --git a/lib/tests/bats/basic.bats b/lib/tests/bats/basic.bats
index ded6a23..83f46c9 100644
--- a/lib/tests/bats/basic.bats
+++ b/lib/tests/bats/basic.bats
@@ -2,7 +2,6 @@
bats_load_library 'bats-assert'
@test 'assert_output() check for existence' {
- run echo 'have'
- assert_output 'have'
+ run echo 'have'
+ assert_output 'have'
}
-
diff --git a/lib/tests/bats/env.bats b/lib/tests/bats/env.bats
index c5f8689..0a432db 100644
--- a/lib/tests/bats/env.bats
+++ b/lib/tests/bats/env.bats
@@ -2,7 +2,6 @@
bats_load_library 'bats-assert'
@test 'env' {
- run echo $USE_BAZEL_VERSION
- assert_output 'latest'
+ run echo $USE_BAZEL_VERSION
+ assert_output 'latest'
}
-
diff --git a/lib/tests/bats/env_expansion.bats b/lib/tests/bats/env_expansion.bats
index b9b55bd..5d690d7 100644
--- a/lib/tests/bats/env_expansion.bats
+++ b/lib/tests/bats/env_expansion.bats
@@ -3,8 +3,7 @@
bats_load_library 'bats-file'
@test 'env expansion' {
- run echo $DATA_PATH
- assert_output 'lib/tests/bats/data.bin'
- assert_file_exists 'lib/tests/bats/data.bin'
+ run echo $DATA_PATH
+ assert_output 'lib/tests/bats/data.bin'
+ assert_file_exists 'lib/tests/bats/data.bin'
}
-
diff --git a/lib/tests/yq/empty.yaml b/lib/tests/yq/empty.yaml
index 8b13789..e69de29 100644
--- a/lib/tests/yq/empty.yaml
+++ b/lib/tests/yq/empty.yaml
@@ -1 +0,0 @@
-
diff --git a/tools/common/clonefile_darwin.go b/tools/common/clonefile_darwin.go
index fff7776..9cae222 100644
--- a/tools/common/clonefile_darwin.go
+++ b/tools/common/clonefile_darwin.go
@@ -3,8 +3,9 @@
package common
import (
- "golang.org/x/sys/unix"
"os"
+
+ "golang.org/x/sys/unix"
)
// https://keith.github.io/xcode-man-pages/clonefile.2.html
diff --git a/tools/copy_directory/main.go b/tools/copy_directory/main.go
index 2b9fba6..b3ad316 100644
--- a/tools/copy_directory/main.go
+++ b/tools/copy_directory/main.go
@@ -13,10 +13,12 @@
type pathSet map[string]bool
-var srcPaths = pathSet{}
-var hardlink = false
-var verbose = false
-var preserveMTime = false
+var (
+ srcPaths = pathSet{}
+ hardlink = false
+ verbose = false
+ preserveMTime = false
+)
type walker struct {
queue chan<- common.CopyOpts
diff --git a/tools/copy_to_directory/main.go b/tools/copy_to_directory/main.go
index c578504..b8f8638 100644
--- a/tools/copy_to_directory/main.go
+++ b/tools/copy_to_directory/main.go
@@ -47,11 +47,15 @@
TargetWorkspace *string
}
-type copyMap map[string]fileInfo
-type pathSet map[string]bool
+type (
+ copyMap map[string]fileInfo
+ pathSet map[string]bool
+)
-var copySet = copyMap{}
-var mkdirSet = pathSet{}
+var (
+ copySet = copyMap{}
+ mkdirSet = pathSet{}
+)
func parseConfig(configPath string, wkspName *string) (*config, error) {
f, err := os.Open(configPath)
diff --git a/tools/expand_template/main.go b/tools/expand_template/main.go
index 73fa284..6119c1c 100644
--- a/tools/expand_template/main.go
+++ b/tools/expand_template/main.go
@@ -60,9 +60,9 @@
content = strings.ReplaceAll(content, key, value)
}
- var mode os.FileMode = 0666
+ var mode os.FileMode = 0o666
if executable {
- mode = 0777
+ mode = 0o777
}
err = os.WriteFile(args[1], []byte(content), mode)
if err != nil {
@@ -89,5 +89,4 @@
}
return results, nil
-
}
diff --git a/tools/format/BUILD.bazel b/tools/format/BUILD.bazel
index 21b2f96..2b41075 100644
--- a/tools/format/BUILD.bazel
+++ b/tools/format/BUILD.bazel
@@ -2,11 +2,10 @@
format_multirun(
name = "format",
- # TODO: enable formatters in follow-up PR
- # go = "@aspect_rules_lint//format:gofumpt",
- # shell = "@aspect_rules_lint//format:shfmt",
+ go = "@aspect_rules_lint//format:gofumpt",
+ shell = "@aspect_rules_lint//format:shfmt",
starlark = "@buildifier_prebuilt//:buildifier",
tags = ["manual"],
visibility = ["//:__subpackages__"],
- # yaml = "@aspect_rules_lint//format:yamlfmt",
+ yaml = "@aspect_rules_lint//format:yamlfmt",
)
diff --git a/yamlfmt.yaml b/yamlfmt.yaml
new file mode 100644
index 0000000..4dedd45
--- /dev/null
+++ b/yamlfmt.yaml
@@ -0,0 +1,4 @@
+gitignore_excludes: true
+doublestar: true
+exclude:
+ - .circleci/config.yml