diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index d1743fdb..00000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,66 +0,0 @@ -name: CI - -# Controls when the action will run. -on: - # Triggers the workflow on push or pull request events but only for the main branch - push: - branches: [main] - pull_request: - branches: [main] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -jobs: - test: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - - uses: actions/checkout@v3 - - - uses: bazelbuild/setup-bazelisk@v2 - - - name: Mount bazel action cache - uses: actions/cache@v2 - with: - path: "~/.cache/bazel" - key: bazel - - - name: Mount bazel repo cache - uses: actions/cache@v2 - with: - path: "~/.cache/bazel-repo" - key: bazel-repo - - - name: bazel test //... (Java 11) - env: - # Bazelisk will download bazel to here, ensure it is cached between runs. - XDG_CACHE_HOME: ~/.cache/bazel-repo - run: bazel --bazelrc=.github/workflows/ci.bazelrc test --config=jdk11 //... - - - name: bazel test //... (Java 17) - env: - # Bazelisk will download bazel to here, ensure it is cached between runs. - XDG_CACHE_HOME: ~/.cache/bazel-repo - run: bazel --bazelrc=.github/workflows/ci.bazelrc test //... - - - name: bazel test //... (no bzlmod) - env: - # Bazelisk will download bazel to here, ensure it is cached between runs. - XDG_CACHE_HOME: ~/.cache/bazel-repo - # The docs targets are tagged as `manual` to prevent stardoc from running with bzlmod - run: bazel --bazelrc=.github/workflows/ci.bazelrc test --noenable_bzlmod //... //docs:all - - - name: bzlmod tests_and_lints - env: - # Bazelisk will download bazel to here, ensure it is cached between runs. - XDG_CACHE_HOME: ~/.cache/bazel-repo - run: (cd examples/tests_and_lints && bazel --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) - - - name: bzlmod gazelle - env: - # Bazelisk will download bazel to here, ensure it is cached between runs. - XDG_CACHE_HOME: ~/.cache/bazel-repo - run: (cd examples/gazelle && bazel --bazelrc=../../.github/workflows/ci.bazelrc run --enable_bzlmod //:gazelle && bazel --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) diff --git a/.github/workflows/examples.yaml b/.github/workflows/examples.yaml new file mode 100644 index 00000000..1e3fd7a2 --- /dev/null +++ b/.github/workflows/examples.yaml @@ -0,0 +1,41 @@ +name: Examples + +on: + push: + branches: [main] + pull_request: + branches: [main] + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + examples: + strategy: + matrix: + runs-on: + - ubuntu-latest + + runs-on: ${{ matrix.runs-on }} + + steps: + - uses: actions/checkout@v3 + + - uses: bazelbuild/setup-bazelisk@v2 + + - name: Mount bazel action cache + uses: actions/cache@v2 + with: + path: "~/.cache/bazel" + key: bazel + + - name: Mount bazel repo cache + uses: actions/cache@v2 + with: + path: "~/.cache/bazel-repo" + key: bazel-repo + + - name: bzlmod tests and lints + env: + # Bazelisk will download bazel to here, ensure it is cached between runs. + XDG_CACHE_HOME: ~/.cache/bazel-repo + run: (cd examples/tests_and_lints && bazel --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) diff --git a/.github/workflows/gazelle_examples.yaml b/.github/workflows/gazelle_examples.yaml new file mode 100644 index 00000000..50dfad9c --- /dev/null +++ b/.github/workflows/gazelle_examples.yaml @@ -0,0 +1,41 @@ +name: Gazelle Examples + +on: + push: + branches: [main] + pull_request: + branches: [main] + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + gazelle_examples: + strategy: + matrix: + runs-on: + - ubuntu-latest + + runs-on: ${{ matrix.runs-on }} + + steps: + - uses: actions/checkout@v3 + + - uses: bazelbuild/setup-bazelisk@v2 + + - name: Mount bazel action cache + uses: actions/cache@v2 + with: + path: "~/.cache/bazel" + key: bazel + + - name: Mount bazel repo cache + uses: actions/cache@v2 + with: + path: "~/.cache/bazel-repo" + key: bazel-repo + + - name: bzlmod gazelle + env: + # Bazelisk will download bazel to here, ensure it is cached between runs. + XDG_CACHE_HOME: ~/.cache/bazel-repo + run: (cd examples/gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc run --enable_bzlmod //:gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml new file mode 100644 index 00000000..79c4ff39 --- /dev/null +++ b/.github/workflows/tests.yaml @@ -0,0 +1,55 @@ +name: Tests + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [main] + pull_request: + branches: [main] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + test: + strategy: + matrix: + runs-on: + - ubuntu-latest + flags: + - "" + - --config=jdk11 + - --noenable_bzlmod + + # The type of runner that the job will run on + runs-on: ${{ matrix.runs-on }} + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-java@v4 + with: + distribution: "zulu" + java-version: "21" + + - uses: bazelbuild/setup-bazelisk@v2 + + - name: Mount bazel action cache + uses: actions/cache@v2 + with: + path: "~/.cache/bazel" + key: bazel + + - name: Mount bazel repo cache + uses: actions/cache@v2 + with: + path: "~/.cache/bazel-repo" + key: bazel-repo + + - name: bazel test //... (Java ${{ matrix.java-major-version }}) + env: + # Bazelisk will download bazel to here, ensure it is cached between runs. + XDG_CACHE_HOME: ~/.cache/bazel-repo + run: bazelisk --bazelrc=.github/workflows/ci.bazelrc test ${{ matrix.flags }} //...