Skip to content

wip

wip #21

Workflow file for this run

name: Makefile CI
on:
push:
pull_request:
env:
# BASIC_PACKAGES is used fo the basic tools (make)
BASIC_PACKAGES: build-essential ccache libgc-dev graphviz libunwind-dev libreadline-dev pkg-config
# MORE_PACKAGES is used for more tools and libs (make more)
MORE_PACKAGES: libcurl4-openssl-dev libevent-dev default-jdk-headless libgles-dev libegl-dev libsdl2-dev postgresql libmongoc-dev
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES
- run: make
- uses: actions/upload-artifact@v4
with:
path: bin
name: bin
sanity-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git fetch origin # Ensure origin/master is present
#- run: misc/jenkins/checkwhitespaces.sh # broken on github runner (wtf?)
# if: success() || failure()
- run: misc/jenkins/checkbinaryfiles.sh
if: success() || failure()
- run: misc/jenkins/checklicense.sh
if: success() || failure()
- run: misc/jenkins/checksignedoffby.sh
if: success() || failure()
tests-some:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- name: Run tests
run: cd tests && make some
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: 'tests/*.xml'
name: tests-some
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: 'tests/out'
name: tests-some-res
- uses: dorny/test-reporter@v1
if: success() || failure()
with:
artifact: tests-some # artifact name
name: tests-some # Name of the check run which will be created
path: '*.xml' # Path to test results (inside artifact .zip)
reporter: java-junit # Format of test results
tests-full:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES $MORE_PACKAGES
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: make src/version.nit
- name: Run tests
run: cd tests && make
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: 'tests/*.xml'
name: tests-full
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: 'tests/out'
name: tests-full-res
- uses: dorny/test-reporter@v1
if: success() || failure()
with:
artifact: tests-full # artifact name
name: tests-full # Name of the check run which will be created
path: '*.xml' # Path to test results (inside artifact .zip)
reporter: java-junit # Format of test results
nitunit-some:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES
- run: git fetch origin # Ensure origin/master is present
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: make nitunit-some
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: '*.xml'
name: nitunit-some
- uses: dorny/test-reporter@v1
if: success() || failure()
with:
artifact: nitunit-some # artifact name
name: nitunit-some # Name of the check run which will be created
path: '*.xml' # Path to test results (inside artifact .zip)
reporter: java-junit # Format of test results
nitunit-lib:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES $MORE_PACKAGES
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: make nitunit-lib
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: '*.xml'
name: nitunit-lib
nitunit-src:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: make nitunit-src
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: '*.xml'
name: nitunit-src
test-contrib:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES $MORE_PACKAGES
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: 'PATH=$PWD/bin:$PATH make test-contrib'
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: '*.xml'
name: test-contrib
- uses: dorny/test-reporter@v1
if: success() || failure()
with:
artifact: test-contrib # artifact name
name: tests-contrib # Name of the check run which will be created
path: '*.xml' # Path to test results (inside artifact .zip)
reporter: java-junit # Format of test results
bootstrap-full:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: false # abort
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES
- run: make bootstrap-full
bench-fast:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES gnuplot
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: 'PATH=$PWD/bin:$PATH make bench-fast'
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: ''
name: test-contrib
valgrind:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y $BASIC_PACKAGES valgrind
- uses: actions/download-artifact@v4
- run: chmod +x bin/*
- run: make valgrind
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
path: 'valgrind.out'
name: test-contrib
info:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pwd
- run: id
- run: ls -al
- run: git branch -av || true
- run: lscpu || true
- run: git log --oneline --graph --decorate | head -n 50
- run: cat /etc/issue
- run: misc/jenkins/install-more.sh