63 lines
1.5 KiB
YAML
63 lines
1.5 KiB
YAML
name: CI
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
setup-bazel:
|
|
runs-on: ${{ matrix.os }}-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os:
|
|
- macos
|
|
- ubuntu
|
|
- windows
|
|
steps:
|
|
- name: Checkout example
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: bazelbuild/examples
|
|
sparse-checkout: java-maven
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Checkout setup-bazel
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: setup-bazel
|
|
|
|
- name: Prepare environment (POSIX)
|
|
if: matrix.os != 'windows'
|
|
run: |
|
|
rm $(which bazel)
|
|
shopt -s dotglob
|
|
mv java-maven/* .
|
|
rmdir java-maven
|
|
|
|
- name: Prepare environment (Windows)
|
|
if: matrix.os == 'windows'
|
|
run: |
|
|
Remove-Item -Path (Get-Command bazel.exe).Source
|
|
Get-ChildItem -Path java-maven -Recurse -File | Move-Item -Destination .
|
|
Remove-Item -Path java-maven
|
|
|
|
- name: Setup Bazel
|
|
uses: ./setup-bazel/
|
|
with:
|
|
bazelisk-cache: true
|
|
bazelisk-version: 1.x
|
|
remote-cache: true
|
|
repository-cache: true
|
|
|
|
- run: bazel build ...
|
|
- run: bazel test ...
|
|
|
|
- name: Start SSH session
|
|
if: failure() && runner.debug == '1'
|
|
uses: mxschmitt/action-tmate@v3
|