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