When unit tests succeed, no one cares about them. When unit tests fail, it's hard to find which one failed. This commit removes the verbose flag, so it's easy to spot what failed. Signed-off-by: Ondřej Budai <ondrej@budai.cz>
93 lines
2.6 KiB
YAML
93 lines
2.6 KiB
YAML
name: Tests
|
|
|
|
# NOTE(mhayden): Restricting branches prevents jobs from being doubled since
|
|
# a push to a pull request triggers two events.
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- "*"
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
lint:
|
|
name: "🛃 Checks"
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
|
|
- name: Set up Go 1.14
|
|
uses: actions/setup-go@v1
|
|
with:
|
|
go-version: 1.14
|
|
id: go
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Check that source has been prepared
|
|
run: |
|
|
./tools/prepare-source.sh
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
echo
|
|
echo "Please include these changes in your branch: "
|
|
git status -vv
|
|
exit "1"
|
|
else
|
|
exit "0"
|
|
fi
|
|
|
|
- name: Install golangci-lint
|
|
run: curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.30.0
|
|
|
|
# This is needed to lint internal/upload/koji package
|
|
- name: Install kerberos devel package
|
|
run: sudo apt-get install -y libkrb5-dev
|
|
|
|
- name: Run golangci-lint
|
|
run: $(go env GOPATH)/bin/golangci-lint run --timeout 5m0s
|
|
|
|
- name: Run unit tests
|
|
run: go test -race -covermode=atomic -coverprofile=coverage.txt -coverpkg=./... ./...
|
|
|
|
- name: Send coverage to codecov.io
|
|
run: bash <(curl -s https://codecov.io/bash)
|
|
|
|
- name: Trigger Schutzbot
|
|
env:
|
|
EVENT_NAME: ${{ github.event_name }}
|
|
WEBHOOK_PAYLOAD: ${{ toJSON(github.event) }}
|
|
SQS_REGION: us-east-1
|
|
SQS_QUEUE_URL: "https://sqs.us-east-1.amazonaws.com/933752197999/schutzbot_webhook_sqs-staging"
|
|
run: |
|
|
#!/bin/bash
|
|
pip3 install boto3 botocore
|
|
schutzbot/send_webhook.py
|
|
|
|
shellcheck:
|
|
name: "🐚 Shellcheck"
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Run ShellCheck
|
|
uses: ludeeus/action-shellcheck@0.5.0
|
|
with:
|
|
ignore: vendor # We don't want to fix the code in vendored dependencies
|
|
env:
|
|
SHELLCHECK_OPTS: -e SC1091 -e SC2002 # don't check /etc/os-release sourcing and allow useless cats to live inside our codebase
|
|
|
|
rpmlint:
|
|
name: "📦 RPMlint"
|
|
runs-on: ubuntu-20.04
|
|
container: registry.fedoraproject.org/fedora:33
|
|
steps:
|
|
- name: Install dependencies
|
|
run: sudo dnf install -y rpmlint rpm-build make git-core
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Create SRPM
|
|
run: make srpm
|
|
|
|
- name: Run rpmlint
|
|
run: rpmlint rpmbuild/SRPMS/*
|