-
Notifications
You must be signed in to change notification settings - Fork 2.4k
87 lines (82 loc) · 2.72 KB
/
amd64_linux_bazel.yml
File metadata and controls
87 lines (82 loc) · 2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# ref: https://github.com/actions/runner-images
name: amd64 Linux Bazel
on:
push:
branches:
- main
- v99bugfix
workflow_dispatch:
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
env:
cache-root: /tmp/bazel
# Building using the github runner environement directly.
jobs:
amd64-Linux-Bazel-Python:
strategy:
matrix:
python: [
#{version: '3.10'},
#{version: '3.11'},
{version: '3.12'},
#{version: '3.13'},
#{version: '3.14'},
]
fail-fast: false
env:
CC: gcc-12
CXX: g++-12
cache-name: ${{github.job}}-${{matrix.python.version}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Check Java
run: java -version
- name: Check mvn
run: mvn --version
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: ${{matrix.python.version}}
- name: Check Python
run: python --version
- name: Install Bazel
run: |
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg
sudo mv bazel.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
sudo apt-get update
sudo apt-get install bazel
- name: Check Bazel
run: bazel version
- name: Change Python in .bazelrc
run: |
sed -i -e 's/\(python_version=\)3.[0-9]\+/\1${{matrix.python.version}}/g' .bazelrc
cat .bazelrc
- name: Change Python in .bazelrc
run: |
sed -i -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]\+"/\1 "${{matrix.python.version}}"/g' MODULE.bazel
cat MODULE.bazel
- name: Restore bazel cache
uses: actions/cache/restore@v5
id: bazel-cache-restore
with:
key: ${{env.cache-name}}
path: ${{env.cache-root}}
- name: Build
run: bazel --output_user_root=${{env.cache-root}} build --config=ci //...
- name: Test
run: bazel --output_user_root=${{env.cache-root}} test --config=ci //...
- name: Save Bazel cache for branch main even when Build and Test fail.
uses: actions/cache/save@v5
# https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching#restrictions-for-accessing-a-cache
if: always() && github.ref == 'refs/heads/main'
with:
key: ${{env.cache-name}}-${{github.sha}}
path: ${{env.cache-root}}
amd64_linux_bazel:
runs-on: ubuntu-latest
needs: amd64-Linux-Bazel-Python
steps:
- uses: actions/checkout@v6