debian-forge-composer/.github/workflows/tests.yml
Major Hayden ac11ea00f0 Remove RPM builds in GitHub Workflows
We are now building RPMs via mock in Jenkins, so we don't need these RPM
build jobs in GitHub Workflows.

Signed-off-by: Major Hayden <major@redhat.com>
2020-05-22 07:44:44 -05:00

101 lines
2.8 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:
- master
jobs:
lint:
name: "🛃 Checks"
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.12
uses: actions/setup-go@v1
with:
go-version: 1.12
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.23.7
- name: Run golangci-lint
run: $(go env GOPATH)/bin/golangci-lint run
- name: Run unit tests
run: go test -v -race -covermode=atomic -coverprofile=coverage.txt -coverpkg=./... ./...
- name: Send coverage to codecov.io
run: bash <(curl -s https://codecov.io/bash)
koji:
name: "麹 Koji test"
runs-on: ubuntu-latest
services:
postgres:
image: docker.io/library/postgres:12-alpine
env:
POSTGRES_USER: koji
POSTGRES_PASSWORD: kojipass
POSTGRES_DB: koji
koji:
image: quay.io/osbuild/ghci-koji:v1
env:
POSTGRES_USER: koji
POSTGRES_PASSWORD: kojipass
POSTGRES_DB: koji
POSTGRES_HOST: postgres
ports:
- 8080:80
steps:
- name: Set up Go 1.12
uses: actions/setup-go@v1
with:
go-version: 1.12
id: go
# We need python for koji client.
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Check out code into the Go module directory
uses: actions/checkout@v2
# Koji from pip is missing its config file.
# To fix this, the default Fedora 32 config is included in the repo
# and installed here. See the last line of the script.
- name: Install koji client
run: |
sudo apt-get install -y libkrb5-dev
python -m pip install --upgrade pip
pip install koji
sudo cp .github/koji.conf /etc/koji.conf
- name: Run unit tests
run: go test -v -race -covermode atomic -coverprofile=coverage.txt -tags koji_test ./internal/upload/koji
- name: Send coverage to codecov.io
run: bash <(curl -s https://codecov.io/bash)