Refine state check (#27541) #332
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: Code Checker | |
# TODO: do not trigger action for some document file update | |
# This workflow is triggered on pushes or pull request to the repository. | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
# file paths to consider in the event. Optional; defaults to all. | |
paths: | |
- 'scripts/**' | |
- 'internal/**' | |
- 'pkg/**' | |
- 'cmd/**' | |
- 'build/**' | |
- 'tests/integration/**' | |
- '.github/workflows/code-checker.yaml' | |
- '.env' | |
- docker-compose.yml | |
- Makefile | |
- '!**.md' | |
- '!build/ci/jenkins/**' | |
# FIXME(wxyu): not need to run code check, update the ci-passed rules and remove these two lines | |
- go.mod | |
- go.sum | |
- .golangci.yml | |
- rules.go | |
jobs: | |
ubuntu: | |
name: Code Checker AMD64 Ubuntu 20.04 | |
runs-on: ubuntu-latest | |
timeout-minutes: 180 | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: 'Generate CCache Hash' | |
env: | |
CORE_HASH: ${{ hashFiles( 'internal/core/**/*.cpp', 'internal/core/**/*.cc', 'internal/core/**/*.c', 'internal/core/**/*.h', 'internal/core/**/*.hpp', 'internal/core/**/CMakeLists.txt') }} | |
run: | | |
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV | |
echo "Set CCache hash to ${CORE_HASH}" | |
- name: Cache CCache Volumes | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: .docker/amd64-ubuntu20.04-ccache | |
key: ubuntu20.04-ccache-${{ env.corehash }} | |
restore-keys: ubuntu20.04-ccache- | |
- name: Cache Go Mod Volumes | |
uses: actions/cache@v3 | |
with: | |
path: .docker/amd64-ubuntu20.04-go-mod | |
key: ubuntu20.04-go-mod-${{ hashFiles('go.sum, */go.sum') }} | |
restore-keys: ubuntu20.04-go-mod- | |
- name: Cache Conan Packages | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: .docker/amd64-ubuntu20.04-conan | |
key: ubuntu20.04-conan-${{ hashFiles('internal/core/conanfile.*') }} | |
restore-keys: ubuntu20.04-conan- | |
# - name: Setup upterm session | |
# uses: lhotari/action-upterm@v1 | |
- name: Code Check | |
env: | |
OS_NAME: 'ubuntu20.04' | |
run: | | |
./build/builder.sh /bin/bash -c "make check-proto-product && make verifiers" | |
amazonlinux: | |
name: Code Checker Amazonlinux 2023 | |
# Run in amazonlinux docker | |
runs-on: ubuntu-latest | |
timeout-minutes: 180 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: 'Generate CCache Hash' | |
env: | |
CORE_HASH: ${{ hashFiles( 'internal/core/**/*.cpp', 'internal/core/**/*.cc', 'internal/core/**/*.c', 'internal/core/**/*.h', 'internal/core/**/*.hpp', 'internal/core/**/CMakeLists.txt') }} | |
run: | | |
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV | |
echo "Set CCache hash to ${CORE_HASH}" | |
- name: Cache CCache Volumes | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: .docker/amd64-amazonlinux2023-ccache | |
key: amazonlinux2023-ccache-${{ env.corehash }} | |
restore-keys: amazonlinux2023-ccache- | |
- name: Cache Third Party | |
uses: actions/cache@v3 | |
with: | |
path: .docker/thirdparty | |
key: amazonlinux2023-thirdparty-${{ hashFiles('internal/core/thirdparty/**') }} | |
restore-keys: amazonlinux2023-thirdparty- | |
- name: Cache Go Mod Volumes | |
uses: actions/cache@v3 | |
with: | |
path: .docker/amd64-amazonlinux2023-go-mod | |
key: amazonlinux2023-go-mod-${{ hashFiles('go.sum, */go.sum') }} | |
restore-keys: amazonlinux2023-go-mod- | |
- name: Cache Conan Packages | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: .docker/amd64-amazonlinux2023-conan | |
key: amazonlinux2023-conan-${{ hashFiles('internal/core/conanfile.*') }} | |
restore-keys: amazonlinux2023-conan- | |
- name: Code Check | |
run: | | |
sed -i 's/ubuntu20.04/amazonlinux2023/g' .env | |
./build/builder.sh /bin/bash -c "make install" |