Skip to content

Disable CI

Disable CI #89

Workflow file for this run

# name: CI
# on:
# push:
# branches:
# - master
# pull_request: {}
# schedule:
# - cron: "0 12 * * 1" # Every Monday at 12:00 UTC
# workflow_dispatch:
# jobs:
# test_and_deploy:
# name: Test and deploy
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the source code
# uses: actions/checkout@v2
# with:
# fetch-depth: 1
# - name: Install toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: 1.70.0
# override: true
# components: rustfmt, clippy
# - uses: Swatinem/rust-cache@v2
# with:
# key: linux
# - name: Run unit tests
# run: cargo test --all
# - name: Lint check
# run: cargo clippy --all -- -D warnings
# - name: Formatting check
# run: cargo fmt --all -- --check
# - uses: docker/setup-buildx-action@v2
# - name: Build Docker image
# uses: docker/build-push-action@v4
# with:
# context: .
# # Export the image to Docker to make it available in the next step
# load: true
# tags: rustc-perf
# cache-from: type=gha
# cache-to: type=gha,mode=max
# test_on_windows:
# name: Test on Windows
# runs-on: windows-latest
# steps:
# - name: Checkout the source code
# uses: actions/checkout@v2
# with:
# fetch-depth: 1
# - name: Install latest beta
# uses: actions-rs/toolchain@v1
# with:
# toolchain: beta
# override: true
# - uses: Swatinem/rust-cache@v2
# with:
# key: windows
# - name: cargo check
# run: cargo check
# env:
# RUSTFLAGS: -Dwarnings
# - name: Run unit tests
# run: cargo test --all
# test_benchmarks:
# strategy:
# matrix:
# # We split `bench_local` testing into four jobs that run in parallel,
# # by splitting the inputs into halves along two dimensions.
# #
# # - Dimension 1: In one half we run just the benchmarks listed here (a
# # few of the most expensive ones). In the other half we run
# # everything but the benchmarks listed here.
# #
# # - Dimension 2: In one half we run the Check, Debug, and Doc profiles.
# # In the other half we run the Opt profiles.
# #
# # We want the four parts to have similar runtimes.
# BENCH_INCLUDE_EXCLUDE_OPTS: [
# "--include cargo-0.60.0,stm32f4-0.14.0,webrender-2022",
# "--exclude cargo-0.60.0,stm32f4-0.14.0,webrender-2022",
# ]
# PROFILES: [
# "Check,Debug,Doc",
# "Opt",
# ]
# name: Test benchmarks
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the source code
# uses: actions/checkout@v2
# with:
# fetch-depth: 1
# - name: Install latest beta
# uses: actions-rs/toolchain@v1
# with:
# toolchain: beta
# override: true
# - name: Configure environment
# run: |
# sudo apt-get update
# sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`
# echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
# - name: Install servo dependencies
# run: sudo apt-get install -y llvm-dev clang libx11-dev python2.7 autoconf2.13 libjemalloc-dev
# - uses: Swatinem/rust-cache@v2
# - name: Build collector
# run: cargo build -p collector
# - name: Check compile benchmarks
# run: sh -x -c "ci/check-compile-benchmarks.sh"
# env:
# JEMALLOC_OVERRIDE: /usr/lib/x86_64-linux-gnu/libjemalloc.so
# BENCH_INCLUDE_EXCLUDE_OPTS: ${{ matrix.BENCH_INCLUDE_EXCLUDE_OPTS }}
# PROFILES: ${{ matrix.PROFILES }}
# SHELL: "/bin/bash"
# test_backends:
# name: Test codegen backend benchmarks
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the source code
# uses: actions/checkout@v2
# with:
# fetch-depth: 1
# - name: Install latest beta
# uses: actions-rs/toolchain@v1
# with:
# toolchain: beta
# override: true
# - name: Configure environment
# run: |
# sudo apt-get update
# sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`
# echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
# - uses: Swatinem/rust-cache@v2
# - name: Build collector
# run: cargo build -p collector
# - name: Check compile benchmarks
# run: sh -x -c "ci/check-compile-benchmarks.sh"
# env:
# BENCH_INCLUDE_EXCLUDE_OPTS: "--include helloworld --exclude helloworld-tiny"
# PROFILES: Debug,Opt
# BACKENDS: Cranelift
# SHELL: "/bin/bash"
# test_runtime_benchmarks:
# name: Test runtime benchmarks
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the source code
# uses: actions/checkout@v2
# with:
# fetch-depth: 1
# - name: Install latest beta
# uses: actions-rs/toolchain@v1
# with:
# toolchain: beta
# override: true
# - name: Configure environment
# run: |
# sudo apt-get update
# sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`
# echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
# - uses: Swatinem/rust-cache@v2
# - name: Build collector
# run: cargo build -p collector
# - name: Check runtime benchmarks
# run: sh -x -c "ci/check-runtime-benchmarks.sh"
# env:
# SHELL: "/bin/bash"
# test_profiling:
# name: Test profiling
# runs-on: ubuntu-22.04
# steps:
# - name: Checkout the source code
# uses: actions/checkout@v2
# with:
# fetch-depth: 1
# - name: Install latest beta
# uses: actions-rs/toolchain@v1
# with:
# toolchain: beta
# override: true
# # We build a specific version of Valgrind because the one from the Ubuntu 22.04 repositories
# # has problems with Rust debuginfo.
# - name: Install Valgrind
# run: |
# git clone https://sourceware.org/git/valgrind.git
# cd valgrind
# # Version from May 2022
# git checkout 74e180e3c4d9e6bb4b2a9cd22eca7703412c5d42
# ./autogen.sh
# ./configure --prefix=${PWD}/build
# make -j2
# make install
# echo "${PWD}/build/bin" >> $GITHUB_PATH
# - uses: Swatinem/rust-cache@v2
# - name: Install profilers
# run: cargo install --version 0.4.12 cargo-llvm-lines
# # Bytehound is currently broken, removing it to keep CI green.
# #- name: Install Bytehound
# # run: |
# # mkdir -p bytehound
# # cd bytehound
# # wget https://github.com/koute/bytehound/releases/download/0.11.0/bytehound-x86_64-unknown-linux-gnu.tgz
# # tar xf bytehound-x86_64-unknown-linux-gnu.tgz
# # cd ..
# # echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PWD}/bytehound" >> $GITHUB_ENV
# - name: Configure environment
# run: |
# sudo apt-get update
# sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`
# echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
# - name: Build collector
# run: cargo build -p collector
# - name: Check profiling
# run: sh -x -c "ci/check-profiling.sh"
# database-check:
# name: Database Check
# runs-on: ubuntu-latest
# services:
# postgres:
# image: postgres
# env:
# POSTGRES_PASSWORD: postgres
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - 5432:5432
# steps:
# - name: Check out repository code
# uses: actions/checkout@v2
# - name: Install stable
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# - uses: Swatinem/rust-cache@v2
# - name: Build site
# run: cargo build --bin site
# - name: Connect to PostgreSQL
# run: |
# timeout 5s ./target/debug/site 'postgresql://postgres:postgres@localhost:5432/postgres' 2>&1 | tee -a log || true
# grep -Fxq "Loading complete but no data identified; exiting." log
# - name: Connect to SQLite
# run: |
# timeout 5s ./target/debug/site 2>&1 | tee -a log || true
# grep -Fxq "Loading complete but no data identified; exiting." log
# - name: Build Postgres to SQLite exporter
# run: cargo build --bin postgres-to-sqlite
# - name: Export empty Postgres DB to SQLite
# run: ./target/debug/postgres-to-sqlite 'postgresql://postgres:postgres@localhost:5432/postgres' "$(mktemp)"
# - name: Export empty Postgres DB to SQLite with date filter
# run: ./target/debug/postgres-to-sqlite --since-weeks-ago=1 'postgresql://postgres:postgres@localhost:5432/postgres' "$(mktemp)"
# - name: Build SQLite to Postgres exporter
# run: cargo build --bin sqlite-to-postgres
# - name: Export empty SQLite DB to Postgres
# run: ./target/debug/sqlite-to-postgres "$(mktemp)" 'postgresql://postgres:postgres@localhost:5432/postgres'
# site-endpoint:
# name: Compare page endpoint test
# runs-on: ubuntu-latest
# services:
# postgres:
# image: postgres
# env:
# POSTGRES_PASSWORD: postgres
# ports:
# - 5432:5432
# steps:
# - name: Check out repository code
# uses: actions/checkout@v2
# - name: Install stable
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# - name: Install nightly
# run: rustup install nightly
# - name: Configure environment
# run: |
# sudo apt-get update
# sudo apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`
# echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
# - uses: Swatinem/rust-cache@v2
# - name: Build collector
# run: cargo build -p collector
# - name: Gather data
# run: |
# cargo run --bin collector bench_local `which rustc` --include syn --id version1 \
# --self-profile \
# --db postgresql://postgres:[email protected]:5432/postgres
# cargo run --bin collector bench_local `rustup +nightly which rustc` --include syn --id version2 \
# --self-profile \
# --db postgresql://postgres:[email protected]:5432/postgres
# - name: Build site
# run: cargo build --bin site
# - name: Setup Python
# uses: actions/setup-python@v5
# - name: Install Python dependencies
# run: python3 -m pip install msgpack requests
# # Check that data from the /get endpoint can be successfully queried.
# - name: Query compare page data
# run: |
# DATABASE_URL=postgresql://postgres:[email protected]:5432/postgres cargo run --bin site &
# python3 ci/check-site.py version1 version2