ci: refactor kcl test scripts for different target os (#1861) #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test on Linux ARCH64 | |
on: | |
push: | |
branches: | |
- main | |
schedule: | |
- cron: '0 0 * * *' | |
jobs: | |
build-and-test: | |
# Ref: https://github.com/actions/runner-images/tree/main/images/linux | |
name: Test | |
runs-on: ubuntu-22.04-arm | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
submodules: "true" | |
- name: Set up Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: 1.23 | |
# Prerequisite | |
- name: Install Python3 (for Grammar test) | |
shell: bash | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y git wget curl make | |
sudo apt-get install python3 python3-pip -y | |
- name: Install rust nightly toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.83 | |
override: true | |
components: clippy, rustfmt | |
- name: Code format check | |
working-directory: ./kclvm | |
run: cargo fmt --check | |
shell: bash | |
- name: chmod | |
run: | | |
chmod -R 777 kclvm | |
- name: Code clippy check | |
working-directory: ./kclvm | |
run: cargo clippy --no-deps -r | |
shell: bash | |
- name: Grammar test | |
working-directory: ./kclvm | |
run: export PATH=$PATH:$PWD/../_build/dist/linux/kclvm/bin && make && make test-grammar | |
shell: bash | |
- name: Evaluator Grammar test | |
working-directory: ./kclvm | |
run: export PATH=$PATH:$PWD/../_build/dist/linux/kclvm/bin && make test-grammar-evaluator | |
shell: bash | |
- name: Runtime test | |
working-directory: ./kclvm | |
run: export PATH=$PATH:$PWD/../_build/dist/linux/kclvm/bin && make test-runtime | |
shell: bash | |
- name: Install KCL CLI | |
run: | | |
go install kcl-lang.io/cli/cmd/kcl@main | |
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH | |
echo "${{ github.workspace }}/go/bin" >> $GITHUB_PATH | |
- name: Unit test | |
working-directory: ./kclvm | |
run: export PATH=$PATH:$PWD/../_build/dist/linux/kclvm/bin && make test | |
shell: bash | |