adds a ubuntu 24.04 matrix with gcc 14 for tests #4618
Workflow file for this run
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: Benchmarks CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- 'devel' | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-20.04] | |
cpu: [amd64] | |
name: '${{ matrix.os }}' | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 # refs bug #18178 | |
steps: | |
- name: 'Checkout' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: 'Install node.js 20.x' | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
- name: 'Install dependencies (Linux amd64)' | |
if: runner.os == 'Linux' && matrix.cpu == 'amd64' | |
run: | | |
sudo apt-fast update -qq | |
DEBIAN_FRONTEND='noninteractive' \ | |
sudo apt-fast install --no-install-recommends -yq \ | |
libcurl4-openssl-dev libgc-dev libsdl1.2-dev libsfml-dev \ | |
valgrind libc6-dbg libblas-dev xorg-dev | |
- name: 'Add build binaries to PATH' | |
shell: bash | |
run: echo "${{ github.workspace }}/bin" >> "${GITHUB_PATH}" | |
- name: 'Build csourcesAny' | |
shell: bash | |
run: . ci/funs.sh && nimBuildCsourcesIfNeeded CC=gcc ucpu='${{ matrix.cpu }}' | |
- name: 'Build koch' | |
shell: bash | |
run: nim c koch | |
- name: 'Build Nim' | |
shell: bash | |
run: ./koch boot -d:release -d:nimStrictMode --lib:lib | |
- name: 'Build Nimble' | |
shell: bash | |
run: ./koch nimble | |
- name: 'Action' | |
shell: bash | |
run: nim c -r -d:release ci/action.nim | |
- name: 'Checkout minimize' | |
uses: actions/checkout@v4 | |
with: | |
repository: 'nim-lang/ci_bench' | |
path: minimize | |
- name: 'Run minimize benchmarks' | |
shell: bash | |
run: ./minimize/minimize ci-bench | |
- name: 'Restore minimize cached database' | |
uses: actions/cache/restore@v3 | |
with: | |
path: minimize.csv | |
key: minimize-db-key | |
- name: 'Update minimize db' | |
shell: bash | |
run: ./minimize/minimize update-db | |
- name: 'Save minimize cached database' | |
if: | | |
github.event_name == 'push' && github.ref == 'refs/heads/devel' && | |
matrix.target == 'linux' | |
uses: actions/cache/save@v3 | |
with: | |
path: minimize.csv | |
key: minimize-db-key | |
- name: 'Generate minimize report' | |
shell: bash | |
run: ./minimize/minimize generate-report | |
- name: 'Archive minimize report' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: minimize-report | |
path: | | |
minimize/minimize.html | |
minimize/minimize.csv | |
# Requires additional permissions, see: | |
# https://github.com/nim-lang/Nim/actions/runs/4778177321/jobs/8494423792?pr=21566 | |
# - name: 'Publish HTML report' | |
# uses: rossjrw/pr-preview-action@v1 | |
# with: | |
# source-dir: minimize | |
# umbrella-dir: minimize | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract md summary | |
run: | | |
cat minimize/summary.md >> $GITHUB_STEP_SUMMARY |