Skip to content

Commit

Permalink
fix bazel install
Browse files Browse the repository at this point in the history
  • Loading branch information
chaokunyang committed Dec 12, 2024
1 parent 9e35a74 commit 2524199
Show file tree
Hide file tree
Showing 3 changed files with 223 additions and 1 deletion.
221 changes: 221 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,163 @@ on:
types: ["opened", "reopened", "synchronize"]

jobs:
java:
name: Java CI
runs-on: ubuntu-latest
env:
MY_VAR: "PATH"
strategy:
matrix:
java-version: ["8", "11", "17", "21"]
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: "temurin"
- name: Set up Python3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install bazel
run: ./ci/run_ci.sh install_bazel
- name: Install python
run: ./ci/run_ci.sh install_python
- name: Install pyfury
run: ./ci/run_ci.sh install_pyfury
- name: Run CI with Maven
run: ./ci/run_ci.sh java${{ matrix.java-version }}
openj9:
name: Openj9 Java CI
runs-on: ubuntu-latest
env:
MY_VAR: "PATH"
strategy:
matrix:
# String in openj9 1.8 share byte array by offset, fury doesn't allow it.
java-version: ["21"]
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: "adopt-openj9"
- name: Set up Python3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install bazel
run: ./ci/run_ci.sh install_bazel
- name: Install python
run: ./ci/run_ci.sh install_python
- name: Install pyfury
run: ./ci/run_ci.sh install_pyfury
- name: Run CI with Maven
run: ./ci/run_ci.sh java${{ matrix.java-version }}
graalvm:
name: GraalVM CI
runs-on: ubuntu-latest
strategy:
matrix:
java-version: ["17", "21", "22"]
steps:
- uses: actions/checkout@v4
- uses: graalvm/setup-graalvm@v1
with:
java-version: ${{ matrix.java-version }}
distribution: "graalvm"
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: "true"
- name: Set up Python3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Build native image and run
run: ./ci/run_ci.sh graalvm_test

scala:
name: Scala CI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK8
uses: actions/setup-java@v4
with:
java-version: 11
distribution: "temurin"
- name: Install fury java
run: cd java && mvn -T10 --no-transfer-progress clean install -DskipTests && cd -
- name: Test
run: |
sudo apt-get update
sudo apt-get install apt-transport-https curl gnupg -yqq
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo -H gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/scalasbt-release.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/scalasbt-release.gpg
sudo apt-get update
sudo apt-get install sbt
# Avoid sbt download jackson-databind error
rm -rf /home/runner/.m2/repository/com/fasterxml/jackson/
cd scala && sbt +test && cd -
integration_tests:
name: Integration Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK8
uses: actions/setup-java@v4
with:
java-version: 8
distribution: "temurin"
- name: Run CI
run: ./ci/run_ci.sh integration_tests

javascript:
name: JavaScript CI
strategy:
matrix:
node-version: [14.x, 16.x, 18.x, 20.x]
os: [ubuntu-latest, macos-13, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Upgrade npm
run: npm install -g npm@8
# node-gyp needs to use python and relies on the distutils module.
# The distutils module has been removed starting from python 3.12
# (see https://docs.python.org/3.10/library/distutils.html). Some
# OS (such as macos -latest) uses python3.12 by default, so python 3.8
# is used here to avoid this problem.
- name: Set up Python3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Run CI with NodeJS
run: python ./ci/run_ci.py javascript

rust:
name: Rust CI
strategy:
matrix:
os: [ubuntu-latest, macos-13, macos-14] # macos-13: x86, macos-14: arm64

Check warning on line 188 in .github/workflows/ci.yml

View workflow job for this annotation

GitHub Actions / 🍏 YAML

188:49 [comments] too few spaces before comment
runs-on: ${{ matrix.os }}
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Run Rust CI
run: python ./ci/run_ci.py rust

cpp:
name: C++ CI
Expand All @@ -54,3 +211,67 @@ jobs:
python-version: 3.11
- name: Run C++ CI with Bazel
run: python ./ci/run_ci.py cpp
python:
name: Python CI
# Fix python 3.6 install issue, see
# https://github.com/rwth-i6/returnn/commit/38ecab17d781c4b74db6a174c8097187380b4ddc
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.7, 3.12]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install bazel
run: ./ci/run_ci.sh install_bazel
- name: Run Python CI
run: ./ci/run_ci.sh python

go:
name: Golang CI
runs-on: ubuntu-latest
strategy:
matrix:
go-version: ["1.13", "1.18"]
steps:
- uses: actions/checkout@v4
- name: Setup Go ${{ matrix.go-version }}
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- name: Display Go version
run: go version
- name: Set up Python3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install bazel
run: ./ci/run_ci.sh install_bazel
- name: Install python
run: ./ci/run_ci.sh install_python
- name: Install pyfury
run: ./ci/run_ci.sh install_pyfury
- name: Run Golang CI
run: ./ci/run_ci.sh go

lint:
name: Code Style Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "oracle"
- name: Check License Header
uses: korandoru/hawkeye@v3
- name: Set up Python 3.8
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Check code style
run: ./ci/run_ci.sh format
2 changes: 2 additions & 0 deletions ci/run_ci.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,8 @@ def _install_bazel():
_exec_cmd(f'setx path "%PATH%;{bazel_path}"')
else:
_exec_cmd(f"./{local_name} --user")
_exec_cmd("source ~/.bazel/bin/bazel-complete.bash")
_exec_cmd("ln -s ~/.bazel/bin/bazel.fish ~/.config/fish/completions/bazel.fish")
os.remove(local_name)

# bazel install status check
Expand Down
1 change: 0 additions & 1 deletion ci/run_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ install_pyfury() {
}

install_bazel() {
rm -rf ~/bin/bazel
if command -v bazel >/dev/null; then
echo "existing bazel location $(which bazel)"
echo "existing bazel version $(bazel version)"
Expand Down

0 comments on commit 2524199

Please sign in to comment.