diff --git a/.github/workflows/CPP.yml b/.github/workflows/CPP.yml index 4a35947..50a40dc 100644 --- a/.github/workflows/CPP.yml +++ b/.github/workflows/CPP.yml @@ -1,5 +1,5 @@ -# Workflow for CPP -name: CPP +# Workflow for cpp +name: cpp # Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows on: @@ -15,30 +15,38 @@ jobs: steps: - uses: actions/checkout@v2 - name: Installing dependencies.. - run: if ! apt list --installed | grep -qP ".*cppcheck.*"; then apt install -y cppcheck; fi + run: if ! apt list --installed | grep -qP ".*cppcheck.*"; then sudo apt install -y cppcheck; fi - name: Linting.. + # FIXME: False triggers on files which names continues after set extension run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '.*\.cpp'); do cppcheck "$file"; done # Kernel specific builds - build-gcc-cpp: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest] + build-macos-gcc-cpp: + runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: building.. run: make build-gcc-cpp - build-clang-cpp: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest] + build-windows-gcc-cpp: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-cpp + build-macos-clang-cpp: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: building.. + run: make build-clang-cpp + build-windows-clang-cpp: + runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: building.. run: make build-clang-cpp # Docker builds + ## Debian - testing build-gcc-cpp-debian: runs-on: ubuntu-latest steps: @@ -53,7 +61,7 @@ jobs: - uses: actions/checkout@v2 - name: building.. run: make build-clang-cpp - + ## Fedora - latest build-gcc-cpp-fedora: runs-on: ubuntu-latest steps: @@ -68,43 +76,102 @@ jobs: - uses: actions/checkout@v2 - name: building.. run: make build-clang-cpp + ## Archlinux - latest + build-gcc-cpp-archlinux: + runs-on: ubuntu-latest + steps: + - uses: docker://archlinux/latest:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-cpp + build-clang-cpp-archlinux: + runs-on: ubuntu-latest + steps: + - uses: docker://archlinux/latest:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-clang-cpp + ## Gentoo stage3-amd64 + build-gcc-cpp-gentoo: + runs-on: ubuntu-latest + steps: + - uses: docker://gentoo/stage3-amd64:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-cpp + build-clang-cpp-gentoo: + runs-on: ubuntu-latest + steps: + - uses: docker://agentoo/stage3-amd64:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-clang-cpp + ## Exherbo + build-gcc-cpp-exherbo: + runs-on: ubuntu-latest + steps: + - uses: docker://exherbo/exherbo_ci:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-cpp + build-clang-cpp-exherbo: + runs-on: ubuntu-latest + steps: + - uses: docker://exherbo/exherbo_ci:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-clang-cpp # Run tests - check-gcc-cpp: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + ## Exherbo (Linux representative) + check-exherbo-gcc-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: running tests.. - run: make check-gcc-cpp - check-clang-cpp: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + - uses: docker://exherbo/exherbo_ci:latest + - run: make check-gcc-cpp + check-exherbo-gcc-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: running tests.. - run: make check-clang-cpp + - uses: docker://exherbo/exherbo_ci:latest + - run: make check-gcc-cpp + ## Windows + check-windows-gcc-cpp: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - run: make check-gcc-cpp + check-windows-clang-cpp: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - run: make check-clang-cpp + ## Darwin + check-darwin-gcc-cpp: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - run: make check-gcc-cpp + check-darwin-clang-cpp: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - run: make check-clang-cpp # Benchmarks - bench-gcc-cpp: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + ## Exherbo + bench-exherbo-gcc-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: docker://exherbo/exherbo_ci:latest - name: running benchmarks.. run: make bench-gcc-cpp - bench-clang-cpp: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + bench-exherbo-clang-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: docker://exherbo/exherbo_ci:latest - name: running benchmarks.. run: make bench-clang-cpp \ No newline at end of file diff --git a/.github/workflows/bash.yml b/.github/workflows/bash.yml index 354e08b..745963a 100644 --- a/.github/workflows/bash.yml +++ b/.github/workflows/bash.yml @@ -16,4 +16,5 @@ jobs: - name: Installing dependencies.. run: if ! apt list --installed 2>/dev/null | grep -q ".*shellcheck.*"; then apt install -y shellcheck; fi - name: Linting.. + # FIXME: False triggers on files which names continues after `.bash` i.e `something.bash.something` run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '.*\.bash'); do shellcheck --external-sources --shell=bash "$file";done \ No newline at end of file diff --git a/.github/workflows/clang.yml b/.github/workflows/clang.yml index 1b4fe5e..fb95ee6 100644 --- a/.github/workflows/clang.yml +++ b/.github/workflows/clang.yml @@ -17,6 +17,7 @@ jobs: - name: Installing dependencies.. run: if ! apt-list --installed cppcheck | grep -q ".*cppcheck.*"; then sudo apt install -y cppcheck; fi - name: Linting.. + # FIXME: False triggers on files which names continues after set extension run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '.*\.c'); do cppcheck "$file"; done ## Valgrind test on gcc valgrind-gcc: @@ -40,93 +41,159 @@ jobs: run: | make build-clang-c valgrind --leak-check=yes -v build/build-clang-c/zernit-clang-c -h -unexpected - # Kernel specific builds - macos-gcc-build: + # Kernel specific builds + build-macos-gcc-c: runs-on: macos-latest steps: - uses: actions/checkout@v2 - - name: Building.. + - name: building.. run: make build-gcc-c - windows-gcc-build: + build-windows-gcc-c: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-c + build-macos-clang-c: runs-on: macos-latest steps: - uses: actions/checkout@v2 - - name: Building.. - run: make build-gcc-c - ubuntu-gcc-build: - runs-on: ubuntu-latest + - name: building.. + run: make build-clang-c + build-windows-clang-c: + runs-on: windows-latest steps: - uses: actions/checkout@v2 - - name: Building.. - run: make build-gcc-c + - name: building.. + run: make build-clang-c # Docker builds + ## Debian - testing build-gcc-c-debian: runs-on: ubuntu-latest steps: - uses: docker://debian/testing:latest - uses: actions/checkout@v2 - - name: Building.. + - name: building.. run: make build-gcc-c build-clang-c-debian: runs-on: ubuntu-latest steps: - uses: docker://debian/testing:latest - uses: actions/checkout@v2 - - name: Building.. + - name: building.. run: make build-clang-c - + ## Fedora - latest build-gcc-c-fedora: runs-on: ubuntu-latest steps: - uses: docker://fedora/latest:latest - uses: actions/checkout@v2 - - name: Building.. + - name: building.. run: make build-gcc-c build-clang-c-fedora: runs-on: ubuntu-latest steps: - uses: docker://fedora/latest:latest - uses: actions/checkout@v2 - - name: Building.. + - name: building.. + run: make build-clang-c + ## Archlinux - latest + build-gcc-c-archlinux: + runs-on: ubuntu-latest + steps: + - uses: docker://archlinux/latest:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-c + build-clang-c-archlinux: + runs-on: ubuntu-latest + steps: + - uses: docker://archlinux/latest:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-clang-c + ## Gentoo stage3-amd64 + build-gcc-c-gentoo: + runs-on: ubuntu-latest + steps: + - uses: docker://gentoo/stage3-amd64:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-c + build-clang-c-gentoo: + runs-on: ubuntu-latest + steps: + - uses: docker://agentoo/stage3-amd64:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-clang-c + ## Exherbo + build-gcc-c-exherbo: + runs-on: ubuntu-latest + steps: + - uses: docker://exherbo/exherbo_ci:latest + - uses: actions/checkout@v2 + - name: building.. + run: make build-gcc-c + build-clang-c-exherbo: + runs-on: ubuntu-latest + steps: + - uses: docker://exherbo/exherbo_ci:latest + - uses: actions/checkout@v2 + - name: building.. run: make build-clang-c # Run tests - check-gcc-c: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + ## Exherbo (Linux representative) + check-exherbo-gcc-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Running tests.. - run: make check-gcc-c - check-clang-c: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + - uses: docker://exherbo/exherbo_ci:latest + - run: make check-gcc-c + check-exherbo-gcc-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Running tests.. - run: make check-clang-c + - uses: docker://exherbo/exherbo_ci:latest + - run: make check-gcc-c + ## Windows + check-windows-gcc-cpp: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - run: make check-gcc-c + check-windows-clang-cpp: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - run: make check-clang-c + ## Darwin + check-darwin-gcc-cpp: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - run: make check-gcc-c + check-darwin-clang-cpp: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - run: make check-clang-c # Benchmarks - bench-gcc-c: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] - steps: - - uses: actions/checkout@v2 - - name: Running benchmarks.. - run: make bench-gcc-c - bench-clang-c: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + ## Exherbo + bench-exherbo-gcc-cpp: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: docker://exherbo/exherbo_ci:latest - name: running benchmarks.. - run: make bench-clang-c \ No newline at end of file + run: make bench-gcc-cpp + bench-exherbo-clang-cpp: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: docker://exherbo/exherbo_ci:latest + - name: running benchmarks.. + run: make bench-clang-cpp \ No newline at end of file diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index a12a5ca..2111777 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -36,4 +36,5 @@ jobs: - name: Test with pytest run: | pip install pytest + # FIXME: False triggers on files which names continues after set extension cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '.*\.py'); do pytest "$file"; done \ No newline at end of file diff --git a/.github/workflows/shell.yml b/.github/workflows/shell.yml index 52e6b5c..f3e909f 100644 --- a/.github/workflows/shell.yml +++ b/.github/workflows/shell.yml @@ -16,4 +16,5 @@ jobs: - name: Installing dependencies.. run: if ! apt list --installed | grep -qP ".*shellcheck.*"; then apt install -y shellcheck; fi - name: Linting.. + # FIXME: False triggers on files which names continues after `.sh` i.e `something.sh.something` run: cd "$GITHUB_WORKSPACE" && for file in $(git ls-tree --name-only -r ${{ github.sha }} | grep '.*\.sh'); do shellcheck --external-sources --shell=sh "$file";done \ No newline at end of file diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index ea7bfd9..1446c9a 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -6,9 +6,7 @@ on: jobs: stale: - runs-on: ubuntu-latest - steps: - uses: actions/stale@v1 with: