From 5347bc1450d3efa4139369bcdd32264aa2d60990 Mon Sep 17 00:00:00 2001 From: seaubot <81010316+seaubot@users.noreply.github.com> Date: Thu, 14 Sep 2023 17:48:43 -0700 Subject: [PATCH] chore: sync with ecsact_common (#23) --- .bazelversion | 1 + .github/workflows/bzlmod-archive.yml | 15 +++++ .github/workflows/main.yml | 91 +++++++++++++++------------- bazel/common.bazelrc | 20 ++++++ bazel/copts.bzl | 16 ++++- cog.toml | 15 +++-- renovate.json | 2 +- 7 files changed, 108 insertions(+), 52 deletions(-) create mode 100644 .bazelversion create mode 100644 .github/workflows/bzlmod-archive.yml create mode 100644 bazel/common.bazelrc diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 0000000..91e4a9f --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +6.3.2 diff --git a/.github/workflows/bzlmod-archive.yml b/.github/workflows/bzlmod-archive.yml new file mode 100644 index 0000000..32613e3 --- /dev/null +++ b/.github/workflows/bzlmod-archive.yml @@ -0,0 +1,15 @@ +# This file is maintained by ecsact-dev/ecsact_common +# If changes are required please make them there + +name: bzlmod archive + +on: + release: + types: [published] + +jobs: + bzlmod-archive: + uses: ecsact-dev/bazel_registry/.github/workflows/bzlmod-archive.yml@main + secrets: inherit + permissions: + contents: write diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7d0222a..1a281a5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,43 +1,48 @@ -name: CI - -on: - push: - branches: - - "**" - -concurrency: - group: ${{ github.ref }} - cancel-in-progress: true - -jobs: - formatting-check: - name: Formatting Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: jidicula/clang-format-action@v4.9.0 - with: { clang-format-version: "15" } - - build-windows: - runs-on: windows-latest - steps: - - uses: actions/cache@v3 - with: - path: | - /Users/runneradmin/AppData/Local/bazelisk - /Users/runneradmin/.cache/bazel-disk-cache - key: ${{runner.os}}-bazel-cache - - uses: actions/checkout@v3 - - run: bazel build --config=ci //... - - build-linux: - runs-on: ubuntu-latest - steps: - - uses: actions/cache@v3 - with: - path: | - ~/.cache/bazelisk - ~/.cache/bazel-disk-cache - key: ${{runner.os}}-bazel-cache - - uses: actions/checkout@v3 - - run: bazel build --config=ci //... +# This file is maintained by ecsact-dev/ecsact_common +# If changes are required please make them there + +name: main + +on: + push: + branches: + - "**" + +jobs: + formatting-check: + name: Formatting Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: jidicula/clang-format-action@v4.9.0 + with: { clang-format-version: "16" } + + test-windows: + runs-on: windows-latest + steps: + - uses: actions/cache@v3 + with: + path: | + /Users/runneradmin/AppData/Local/bazelisk + /Users/runneradmin/.cache/bazel-disk-cache + key: ${{runner.os}}-bazel-cache + - uses: actions/checkout@v4 + - run: bazelisk build --config=ci //... + - if: ${{ hashfiles('test/MODULE.bazel') != '' }} + run: bazelisk test --config=ci ... + working-directory: test + + test-linux: + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: | + ~/.cache/bazelisk + ~/.cache/bazel-disk-cache + key: ${{runner.os}}-bazel-cache + - uses: actions/checkout@v4 + - run: bazelisk build --config=ci //... + - if: ${{ hashfiles('test/MODULE.bazel') != '' }} + run: bazelisk test --config=ci ... + working-directory: test diff --git a/bazel/common.bazelrc b/bazel/common.bazelrc new file mode 100644 index 0000000..ebb4c3e --- /dev/null +++ b/bazel/common.bazelrc @@ -0,0 +1,20 @@ +startup --windows_enable_symlinks +common --enable_bzlmod +common --registry=https://raw.githubusercontent.com/ecsact-dev/bazel_registry/main +common --registry=https://raw.githubusercontent.com/bazelboost/registry/main +common --registry=https://bcr.bazel.build +build --enable_platform_specific_config +build --incompatible_use_platforms_repo_for_constraints +build --incompatible_enable_cc_toolchain_resolution +build --incompatible_strict_action_env +build --enable_runfiles +build --noincompatible_remove_rule_name_parameter +query --noincompatible_remove_rule_name_parameter + +# Temporary until https://github.com/grailbio/bazel-toolchain/pull/198 is merged +build:linux --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux + +common:ci --announce_rc +common:ci --verbose_failures +common:ci --keep_going +common:ci --disk_cache=~/.cache/bazel-disk-cache diff --git a/bazel/copts.bzl b/bazel/copts.bzl index 616520c..8ddeb95 100644 --- a/bazel/copts.bzl +++ b/bazel/copts.bzl @@ -1,4 +1,14 @@ -copts = select({ - "@bazel_tools//tools/cpp:msvc": ["/std:c++20", "/Zc:preprocessor", "/permissive-"], - "//conditions:default": ["-std=c++20", "-Werror", "-fexperimental-library"], +load("@bazel_skylib//lib:selects.bzl", "selects") + +# Ecsact repositories currently only support clang and cl +copts = selects.with_or({ + ("@rules_cc//cc/compiler:clang"): [ + "-std=c++2b", + "-fexperimental-library", + ], + ("@rules_cc//cc/compiler:msvc-cl", "@rules_cc//cc/compiler:clang-cl"): [ + "/std:c++latest", + "/permissive-", + "/Zc:preprocessor", + ], }) diff --git a/cog.toml b/cog.toml index 8f36126..9cbba6c 100644 --- a/cog.toml +++ b/cog.toml @@ -1,5 +1,10 @@ -post_bump_hooks = [ - "git push", - "git push origin {{version}}", - "gh release create {{version}} --generate-notes --latest -t {{version}} --verify-tag", -] +pre_bump_hooks = [ + # Ecsact pre 1.0.0 the 0.X.0 is our 'major' version + "buildozer 'set version {{version}}' 'set compatibility_level {{version.minor}}' //MODULE.bazel:%module", +] + +post_bump_hooks = [ + "git push", + "git push origin {{version}}", + "gh release create {{version}} --generate-notes --latest -t {{version}} --verify-tag", +] diff --git a/renovate.json b/renovate.json index 25b1be3..fa1abeb 100644 --- a/renovate.json +++ b/renovate.json @@ -3,4 +3,4 @@ "extends": [ "github>ecsact-dev/renovate-config" ] -} +} \ No newline at end of file