Move static analysis jobs to their own CI file to split workflows (#3157)
Move jobs doing static analysis to its own workflow. RacketCGC is needed so perform a speed build (takes 3mins) before the static analysis on each job that requires it.
This commit is contained in:
parent
3934dfd760
commit
e64c680b60
167
.github/workflows/ci-push.yml
vendored
167
.github/workflows/ci-push.yml
vendored
|
@ -452,170 +452,3 @@ jobs:
|
||||||
run: raco pkg install --auto db-test
|
run: raco pkg install --auto db-test
|
||||||
- name: Run db tests
|
- name: Run db tests
|
||||||
run: raco test -l tests/db/all-tests
|
run: raco test -l tests/db/all-tests
|
||||||
|
|
||||||
#
|
|
||||||
# Jobs to scan-build racket
|
|
||||||
#
|
|
||||||
scanbuild-racketcgc:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: pmatos/scan-build:latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
fetch-depth: 100
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++
|
|
||||||
- name: Configure
|
|
||||||
working-directory: ./racket/src
|
|
||||||
run: >
|
|
||||||
./configure
|
|
||||||
CFLAGS="-O0 -g"
|
|
||||||
--disable-strip
|
|
||||||
--prefix=${{ runner.temp }}/racketcgc
|
|
||||||
--enable-werror
|
|
||||||
--enable-cify
|
|
||||||
--enable-cgcdefault
|
|
||||||
--enable-jit
|
|
||||||
--enable-foreign
|
|
||||||
--enable-places
|
|
||||||
--enable-futures
|
|
||||||
--enable-float
|
|
||||||
--enable-pthread
|
|
||||||
--disable-docs
|
|
||||||
- name: Scan Build
|
|
||||||
working-directory: ./racket/src
|
|
||||||
run: |
|
|
||||||
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
|
||||||
scan-build -o ../../racketcgc-report -analyzer-config 'crosscheck-with-z3=true' make -j$((cpus + 1))
|
|
||||||
- name: Tarballing
|
|
||||||
run: tar -cvjf racketcgc-report-${{ github.sha }}.tar.bz2 racketcgc-report
|
|
||||||
- uses: actions/upload-artifact@v1
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
name: scanbuild-cgc-${{ github.sha }}
|
|
||||||
path: racketcgc-report-${{ github.sha }}.tar.bz2
|
|
||||||
|
|
||||||
scanbuild-racket3m:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container: pmatos/scan-build:latest
|
|
||||||
needs: build-racketcgc
|
|
||||||
|
|
||||||
env:
|
|
||||||
RUNNER_TEMP: "/__w/_temp"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Workaround temp issues
|
|
||||||
run: |
|
|
||||||
mkdir -p ${{ runner.temp }}
|
|
||||||
cd ${{ runner.temp }}/..
|
|
||||||
rmdir ${{ runner.temp }}
|
|
||||||
ln -s ${RUNNER_TEMP} ${{ runner.temp }}
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
fetch-depth: 100
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++
|
|
||||||
- uses: actions/download-artifact@v1
|
|
||||||
with:
|
|
||||||
name: racketcgc-ubuntu-18.04-cify-x64_git${{ github.sha }}
|
|
||||||
path: ${{ runner.temp }}
|
|
||||||
- name: Untar
|
|
||||||
working-directory: ${{ runner.temp }}
|
|
||||||
run: tar -xvjf racketcgc-ubuntu-18.04-cify-x64_git${{ github.sha }}.tar.bz2
|
|
||||||
- name: Configure
|
|
||||||
working-directory: ./racket/src
|
|
||||||
run: >
|
|
||||||
./configure
|
|
||||||
CFLAGS="-O0 -g"
|
|
||||||
--disable-strip
|
|
||||||
--prefix=${RUNNER_TEMP}/racket3m
|
|
||||||
--enable-racket=${RUNNER_TEMP}/racketcgc/bin/racket
|
|
||||||
--enable-werror
|
|
||||||
--enable-cify
|
|
||||||
--enable-jit
|
|
||||||
--enable-foreign
|
|
||||||
--enable-places
|
|
||||||
--enable-futures
|
|
||||||
--enable-float
|
|
||||||
--enable-pthread
|
|
||||||
--disable-docs
|
|
||||||
- name: Scan Build
|
|
||||||
working-directory: ./racket/src
|
|
||||||
run: |
|
|
||||||
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
|
||||||
scan-build -o ../../racket3m-report -analyzer-config 'crosscheck-with-z3=true' make -j$((cpus + 1))
|
|
||||||
- name: Tarballing
|
|
||||||
run: tar -cvjf racket3m-report-${{ github.sha }}.tar.bz2 racket3m-report
|
|
||||||
- uses: actions/upload-artifact@v1
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
name: scanbuild-3m-${{ github.sha }}
|
|
||||||
path: racket3m-report-${{ github.sha }}.tar.bz2
|
|
||||||
|
|
||||||
scanbuild-racketcs:
|
|
||||||
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
container: pmatos/scan-build:latest
|
|
||||||
needs: build-racketcgc
|
|
||||||
|
|
||||||
env:
|
|
||||||
RUNNER_TEMP: "/__w/_temp"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Workaround temp issues
|
|
||||||
run: |
|
|
||||||
mkdir -p ${{ runner.temp }}
|
|
||||||
cd ${{ runner.temp }}/..
|
|
||||||
rmdir ${{ runner.temp }}
|
|
||||||
ln -s ${RUNNER_TEMP} ${{ runner.temp }}
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
with:
|
|
||||||
fetch-depth: 100
|
|
||||||
- name: Install pkg dependencies
|
|
||||||
run: |
|
|
||||||
apt update
|
|
||||||
apt install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++ git uuid-dev
|
|
||||||
- uses: actions/download-artifact@v1
|
|
||||||
with:
|
|
||||||
name: racketcgc-ubuntu-18.04-cify-x64_git${{ github.sha }}
|
|
||||||
path: ${{ runner.temp }}
|
|
||||||
- name: Untar
|
|
||||||
working-directory: ${{ runner.temp }}
|
|
||||||
run: tar -xvjf racketcgc-ubuntu-18.04-cify-x64_git${{ github.sha}}.tar.bz2
|
|
||||||
- name: Checking out ChezScheme
|
|
||||||
working-directory: ./racket/src
|
|
||||||
run: git clone --depth=1 --recurse-submodules -j3 https://github.com/racket/ChezScheme
|
|
||||||
- name: Configuring Racket CS
|
|
||||||
working-directory: ./racket/src
|
|
||||||
env:
|
|
||||||
CC: ${{ matrix.cc }}
|
|
||||||
run: >
|
|
||||||
./configure
|
|
||||||
CFLAGS="-O0 -g"
|
|
||||||
--prefix=${RUNNER_TEMP}/racketcs
|
|
||||||
$RACKET_EXTRA_CONFIGURE_ARGS
|
|
||||||
--enable-racket=${RUNNER_TEMP}/racketcgc/bin/racket
|
|
||||||
--enable-compress
|
|
||||||
--disable-docs
|
|
||||||
--enable-pthread
|
|
||||||
--enable-csdefault
|
|
||||||
--enable-csonly
|
|
||||||
- name: Building
|
|
||||||
working-directory: ./racket/src
|
|
||||||
run: |
|
|
||||||
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
|
||||||
scan-build -o ../../racketcs-report -analyzer-config 'crosscheck-with-z3=true' make -j $((cpus+1))
|
|
||||||
- name: Tarballing
|
|
||||||
run: tar -cvjf racketcs-report-${{ github.sha }}.tar.bz2 racketcs-report
|
|
||||||
- uses: actions/upload-artifact@v1
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
name: scanbuild-cs-${{ github.sha }}
|
|
||||||
path: racketcs-report-${{ github.sha }}.tar.bz2
|
|
||||||
|
|
153
.github/workflows/scanbuild_static-analysis.yml
vendored
Normal file
153
.github/workflows/scanbuild_static-analysis.yml
vendored
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
name: LLVM Static Analysis
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
#
|
||||||
|
# Jobs to scan-build racket
|
||||||
|
#
|
||||||
|
scanbuild-racketcgc:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: pmatos/scan-build:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++ git
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 100
|
||||||
|
- name: Configure
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: >
|
||||||
|
./configure
|
||||||
|
CFLAGS="-O0 -g"
|
||||||
|
--disable-strip
|
||||||
|
--prefix=${{ runner.temp }}/racketcgc
|
||||||
|
--enable-werror
|
||||||
|
--enable-cify
|
||||||
|
--enable-cgcdefault
|
||||||
|
--enable-jit
|
||||||
|
--enable-foreign
|
||||||
|
--enable-places
|
||||||
|
--enable-futures
|
||||||
|
--enable-float
|
||||||
|
--enable-pthread
|
||||||
|
--disable-docs
|
||||||
|
- name: Scan Build
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: |
|
||||||
|
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
||||||
|
scan-build -o ../../racketcgc-report -analyzer-config 'crosscheck-with-z3=true' make -j$((cpus + 1))
|
||||||
|
- name: Tarballing
|
||||||
|
run: tar -cvjf racketcgc-report-${{ github.sha }}.tar.bz2 racketcgc-report
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: scanbuild-cgc-${{ github.sha }}
|
||||||
|
path: racketcgc-report-${{ github.sha }}.tar.bz2
|
||||||
|
|
||||||
|
scanbuild-racket3m:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: pmatos/scan-build:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++ git
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 100
|
||||||
|
- name: Speed build and install racketcgc
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: |
|
||||||
|
./configure --enable-cgcdefault --prefix=/usr
|
||||||
|
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
||||||
|
make -j$((cpus+1))
|
||||||
|
make -j$((cpus+1)) install
|
||||||
|
- name: Clean repo
|
||||||
|
run: git clean -xdf
|
||||||
|
- name: Configure
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: >
|
||||||
|
./configure
|
||||||
|
CFLAGS="-O0 -g"
|
||||||
|
--disable-strip
|
||||||
|
--enable-racket=/usr/bin/racket
|
||||||
|
--enable-werror
|
||||||
|
--enable-cify
|
||||||
|
--enable-jit
|
||||||
|
--enable-foreign
|
||||||
|
--enable-places
|
||||||
|
--enable-futures
|
||||||
|
--enable-float
|
||||||
|
--enable-pthread
|
||||||
|
--disable-docs
|
||||||
|
- name: Scan Build
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: |
|
||||||
|
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
||||||
|
scan-build -o ../../racket3m-report -analyzer-config 'crosscheck-with-z3=true' make -j$((cpus + 1))
|
||||||
|
- name: Tarballing
|
||||||
|
run: tar -cvjf racket3m-report-${{ github.sha }}.tar.bz2 racket3m-report
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: scanbuild-3m-${{ github.sha }}
|
||||||
|
path: racket3m-report-${{ github.sha }}.tar.bz2
|
||||||
|
|
||||||
|
scanbuild-racketcs:
|
||||||
|
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
container: pmatos/scan-build:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install pkg dependencies
|
||||||
|
run: |
|
||||||
|
apt update
|
||||||
|
apt install -y libffi-dev unzip python libxml2-dev libfindbin-libs-perl make gcc g++ git uuid-dev git
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 100
|
||||||
|
- name: Speed build and install racketcgc
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: |
|
||||||
|
./configure --enable-cgcdefault --prefix=/usr
|
||||||
|
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
||||||
|
make -j$((cpus+1))
|
||||||
|
make -j$((cpus+1)) install
|
||||||
|
- name: Clean repo
|
||||||
|
run: git clean -xdf
|
||||||
|
- name: Checking out ChezScheme
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: git clone --depth=1 --recurse-submodules -j3 https://github.com/racket/ChezScheme
|
||||||
|
- name: Configuring Racket CS
|
||||||
|
working-directory: ./racket/src
|
||||||
|
env:
|
||||||
|
CC: ${{ matrix.cc }}
|
||||||
|
run: >
|
||||||
|
./configure
|
||||||
|
CFLAGS="-O0 -g"
|
||||||
|
--enable-racket=/usr/bin/racket
|
||||||
|
--enable-compress
|
||||||
|
--disable-docs
|
||||||
|
--enable-pthread
|
||||||
|
--enable-csdefault
|
||||||
|
--enable-csonly
|
||||||
|
- name: Building
|
||||||
|
working-directory: ./racket/src
|
||||||
|
run: |
|
||||||
|
export cpus=$(grep -c ^processor /proc/cpuinfo)
|
||||||
|
scan-build -o ../../racketcs-report -analyzer-config 'crosscheck-with-z3=true' make -j $((cpus+1))
|
||||||
|
- name: Tarballing
|
||||||
|
run: tar -cvjf racketcs-report-${{ github.sha }}.tar.bz2 racketcs-report
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: scanbuild-cs-${{ github.sha }}
|
||||||
|
path: racketcs-report-${{ github.sha }}.tar.bz2
|
Loading…
Reference in New Issue
Block a user