name: Tests and static analysis on: push: branches-ignore: - main - dev jobs: # This is done to prevent potential race conditions; # multiple jobs start with the source code, but since # they have no "needs", one could start a little bit later, # and in meantime a commit could be pushed Clone-repo: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - uses: actions/upload-artifact@v3 with: name: source-code path: . Tests: runs-on: ubuntu-latest needs: Clone-repo steps: - uses: actions/download-artifact@v3 with: name: source-code path: . - name: Run tests run: make tests Static-analysis: runs-on: ubuntu-latest needs: Clone-repo steps: - uses: actions/download-artifact@v3 with: name: source-code path: . - name: Run static analysis run: make static-analysis