fortify-headers

standalone fortify-source implementation
git clone git://git.2f30.org/fortify-headers
Log | Files | Refs | README | LICENSE

testsuite.yaml (4215B)


      1 name: Test suite
      2 on:
      3   pull_request:
      4   push:
      5   schedule:
      6     - cron: '0 16 * * 5'
      7 
      8 jobs:
      9   gcc:
     10     runs-on: ubuntu-latest
     11     steps:
     12       - name: Checking out the code
     13         uses: actions/checkout@v3
     14       - name: Cache musl toolchain
     15         uses: actions/cache@v3
     16         id: cache-musl
     17         with:
     18           path: x86_64-linux-musl-native
     19           key: musl
     20       - name: Downloading musl-based toolchain
     21         if: steps.cache-musl.outputs.cache-hit != 'true'
     22         run: wget --quiet https://dustri.org/x86_64-linux-musl-native.tgz
     23       - name: Extracting musl-based toolchain
     24         if: steps.cache-musl.outputs.cache-hit != 'true'
     25         run: tar xzf ./x86_64-linux-musl-native.tgz
     26       - name: Build and run the testsuite
     27         shell: bash
     28         run : make --silent -C tests clean gcc run | tee ./results.txt
     29       - name: Check the testsuite's output
     30         shell: bash
     31         run: grep -zvq 'FAIL' ./results.txt
     32       - name: Show logs in case of failure
     33         if: ${{ failure() }}
     34         run: cat ./results.txt
     35 
     36   clang:
     37     runs-on: ubuntu-latest
     38     strategy:
     39       matrix:
     40         version: [16, 17, 18]
     41     steps:
     42       - name: Checking out the code
     43         uses: actions/checkout@v3
     44       - name: Cache musl toolchain
     45         uses: actions/cache@v3
     46         id: cache-musl
     47         with:
     48           path: x86_64-linux-musl-native
     49           key: musl
     50       - name: Downloading musl-based toolchain
     51         if: steps.cache-musl.outputs.cache-hit != 'true'
     52         run: wget --quiet https://dustri.org/x86_64-linux-musl-native.tgz
     53       - name: Extracting musl-based toolchain
     54         if: steps.cache-musl.outputs.cache-hit != 'true'
     55         run: tar xzf ./x86_64-linux-musl-native.tgz
     56       - name: Setting up clang version
     57         run: |
     58           sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ matrix.version }} 100
     59           sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ matrix.version }} 100
     60       - name: Build and run the testsuite
     61         shell: bash
     62         run : make --silent -C tests clean clang run | tee ./results.txt
     63       - name: Check the testsuite's output
     64         shell: bash
     65         run: grep -zvq 'FAIL' ./results.txt
     66       - name: Show logs in case of failure
     67         if: ${{ failure() }}
     68         run: cat ./results.txt
     69 
     70   c_versions:
     71     runs-on: ubuntu-latest
     72     strategy:
     73       matrix:
     74         version: ["c89", "c99", "c11", "c17"]
     75     steps:
     76       - name: Checking out the code
     77         uses: actions/checkout@v3
     78       - name: Cache musl toolchain
     79         uses: actions/cache@v3
     80         id: cache-musl
     81         with:
     82           path: x86_64-linux-musl-native
     83           key: musl
     84       - name: Downloading musl-based toolchain
     85         if: steps.cache-musl.outputs.cache-hit != 'true'
     86         run: wget --quiet https://dustri.org/x86_64-linux-musl-native.tgz
     87       - name: Extracting musl-based toolchain
     88         if: steps.cache-musl.outputs.cache-hit != 'true'
     89         run: tar xzf ./x86_64-linux-musl-native.tgz
     90       - name: Building with clang
     91         shell: bash
     92         run: CFLAGS=-std=${{ matrix.version }} make -C tests clean clang run
     93       - name: Building with gcc
     94         shell: bash
     95         run: CFLAGS=-std=${{ matrix.version }} make -C tests clean gcc run
     96 
     97   fortify_level:
     98     runs-on: ubuntu-latest
     99     strategy:
    100       matrix:
    101         level: [2, 3]
    102     steps:
    103       - name: Checking out the code
    104         uses: actions/checkout@v3
    105       - name: Cache musl toolchain
    106         uses: actions/cache@v3
    107         id: cache-musl
    108         with:
    109           path: x86_64-linux-musl-native
    110           key: musl
    111       - name: Downloading musl-based toolchain
    112         if: steps.cache-musl.outputs.cache-hit != 'true'
    113         run: wget --quiet https://dustri.org/x86_64-linux-musl-native.tgz
    114       - name: Extracting musl-based toolchain
    115         if: steps.cache-musl.outputs.cache-hit != 'true'
    116         run: tar xzf ./x86_64-linux-musl-native.tgz
    117       - name: Building with clang
    118         shell: bash
    119         run: _FORTIFY_SOURCE=${{ matrix.level }} make -C tests clean clang
    120       - name: Building with gcc
    121         shell: bash
    122         run: _FORTIFY_SOURCE=${{ matrix.level }} make -C tests clean gcc