mirror of
				https://github.com/tailix/libkernaux.git
				synced 2025-10-30 23:47:50 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Test
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    branches: [master]
 | 
						|
  pull_request:
 | 
						|
    branches: [master]
 | 
						|
 | 
						|
jobs:
 | 
						|
  test:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        # TODO: something is wrong with TCC, Multiboot 2 info tag struct size
 | 
						|
        #cc: ['gcc', 'clang', 'tcc']
 | 
						|
        cc: ['gcc', 'clang']
 | 
						|
        opt: ['', '-O0', '-O3']
 | 
						|
        assert: ['--enable-assert', '--disable-assert']
 | 
						|
        guard: ['--enable-guard', '--disable-guard']
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v2
 | 
						|
      - uses: ruby/setup-ruby@v1
 | 
						|
        with:
 | 
						|
          ruby-version: 3.0
 | 
						|
      - uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          toolchain: stable
 | 
						|
 | 
						|
      - name: dependencies
 | 
						|
        run: sudo apt-get -y install clang tcc
 | 
						|
      - name: autogen
 | 
						|
        run: ./autogen.sh
 | 
						|
      - name: configure
 | 
						|
        run: ./configure --enable-tests ${{matrix.assert}} ${{matrix.guard}} CC='${{matrix.cc}}' CFLAGS='${{matrix.opt}}'
 | 
						|
      - name: make
 | 
						|
        run: make
 | 
						|
      - name: check
 | 
						|
        run: make check || (cat test-suite.log && false)
 | 
						|
      - name: install
 | 
						|
        run: sudo make install
 | 
						|
 | 
						|
      - name: bundle
 | 
						|
        working-directory: pkgs/ruby
 | 
						|
        run: bundle install
 | 
						|
      - name: rake compile
 | 
						|
        working-directory: pkgs/ruby
 | 
						|
        run: rake compile
 | 
						|
      - name: test & lint
 | 
						|
        working-directory: pkgs/ruby
 | 
						|
        run: rake
 | 
						|
 | 
						|
      - name: test
 | 
						|
        working-directory: pkgs/rust
 | 
						|
        run: cargo test
 | 
						|
 | 
						|
  cppcheck:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v2
 | 
						|
      - name: dependencies
 | 
						|
        run: sudo apt-get -y install cppcheck
 | 
						|
      - name: cppcheck source code
 | 
						|
        # TODO: don't suppress "src/printf.c"
 | 
						|
        run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability --suppress='*:src/printf.c' include/ src/
 | 
						|
      - name: cppcheck examples
 | 
						|
        run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability --suppress=duplicateExpression --suppress=staticStringCompare examples/
 | 
						|
      - name: cppcheck tests
 | 
						|
        run: cppcheck --quiet --error-exitcode=1 --std=c99 --enable=warning,style,performance,portability --suppress=unusedStructMember tests/
 |