Enable linter in the CI #261
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test on PR | |
on: | |
pull_request_target: | |
types: [opened, synchronize, reopened, labeled] | |
jobs: | |
permission: | |
strategy: | |
matrix: | |
platform: [macos-latest, windows-latest, ubuntu-latest] | |
runs-on: ${{matrix.platform}} | |
steps: | |
- name: Add comment if PR permission failed | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'safe PR') }} | |
uses: actions/github-script@v3 | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
github.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: '🔒 Could not start CI tests due to missing *safe PR* label. Please contact a DEDIS maintainer.' | |
}) | |
- name: Check permission | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'safe PR') }} | |
run: | | |
echo "::error:: Could not start CI tests due to missing *safe PR* label." | |
exit 1 | |
test-mac: | |
needs: permission | |
runs-on: macos-latest | |
env: | |
DBGSYNCLOG: trace | |
DBGSYNCON: true | |
steps: | |
- name: Set up Go ^1.13 | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.13 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Test without coverage | |
run: make test | |
test-windows: | |
needs: permission | |
runs-on: windows-latest | |
env: | |
DBGSYNCLOG: trace | |
DBGSYNCON: true | |
steps: | |
- name: Set up Go ^1.13 | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.13 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Test without coverage | |
run: make test | |
test-ubuntu: | |
needs: permission | |
runs-on: ubuntu-latest | |
env: | |
DBGSYNCLOG: trace | |
DBGSYNCON: true | |
steps: | |
- name: Set up Go ^1.13 | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.13 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Test with coverage | |
run: make coverage | |
- name: SonarCloud scan | |
uses: sonarsource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
with: | |
args: > | |
-Dsonar.organization=dedis | |
-Dsonar.projectKey=dedis_kyber | |
-Dsonar.go.tests.reportPaths=report.json | |
-Dsonar.go.coverage.reportPaths=profile.cov | |
-Dsonar.pullrequest.key=${{ github.event.number }} | |
-Dsonar.pullrequest.branch=${{ github.head_ref }} | |
-Dsonar.pullrequest.base=${{ github.event.pull_request.base }} | |
-Dsonar.c.file.suffixes=- | |
-Dsonar.cpp.file.suffixes=- | |
-Dsonar.objc.file.suffixes=- | |
test-ubuntu-x86: | |
needs: permission | |
runs-on: ubuntu-latest | |
env: | |
DBGSYNCLOG: trace | |
DBGSYNCON: true | |
steps: | |
- name: Setup Alpine Linux | |
uses: jirutka/setup-alpine@v1 | |
with: | |
arch: x86 | |
packages: > | |
go | |
make | |
git | |
gcc | |
musl-dev | |
- name: Set up Go ^1.13 for x86 | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.13 | |
- name: Check out code into the Go module directory for x86 | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Test without coverage for x86 | |
run: make test |