.github/workflows: Add DB tests
This commit is contained in:
parent
03b57f002c
commit
d329af12a1
2 changed files with 39 additions and 22 deletions
39
.github/workflows/tests.yml
vendored
39
.github/workflows/tests.yml
vendored
|
|
@ -38,6 +38,45 @@ jobs:
|
|||
- name: Send coverage to codecov.io
|
||||
run: bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
db-tests:
|
||||
name: "🗄 DB tests"
|
||||
runs-on: ubuntu-20.04
|
||||
services:
|
||||
postgres:
|
||||
# 12 is used in deployments
|
||||
image: postgres:12
|
||||
env:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: foobar
|
||||
POSTGRES_DB: osbuildcomposer
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
ports:
|
||||
- 5432:5432
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.16
|
||||
- env:
|
||||
PGUSER: postgres
|
||||
PGPASSWORD: foobar
|
||||
PGDATABASE: osbuildcomposer
|
||||
PGHOST: localhost
|
||||
PGPORT: 5432
|
||||
run: |
|
||||
WORKDIR=$(readlink -f pkg/jobqueue/dbjobqueue/schemas)
|
||||
pushd $(mktemp -d)
|
||||
go mod init temp
|
||||
go get -u github.com/jackc/tern
|
||||
go run github.com/jackc/tern migrate -m "$WORKDIR"
|
||||
popd
|
||||
- run: go test -tags=integration ./cmd/osbuild-composer-dbjobqueue-tests
|
||||
- run: go test -tags=integration ./cmd/osbuild-service-maintenance
|
||||
|
||||
python-lint:
|
||||
name: "🐍 Lint (dnf-json)"
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ TEST_CASES=(
|
|||
"osbuild-dnf-json-tests"
|
||||
"osbuild-composer-cli-tests"
|
||||
"osbuild-auth-tests"
|
||||
"osbuild-composer-dbjobqueue-tests"
|
||||
)
|
||||
|
||||
# Print out a nice test divider so we know when tests stop and start.
|
||||
|
|
@ -48,27 +47,6 @@ run_test_case () {
|
|||
# Provision the software under test.
|
||||
/usr/libexec/osbuild-composer-test/provision.sh
|
||||
|
||||
# Set up a basic postgres db
|
||||
sudo dnf install -y go postgresql postgresql-server postgresql-contrib
|
||||
PWFILE=$(sudo -u postgres mktemp)
|
||||
cat <<EOF | sudo -u postgres tee "$PWFILE"
|
||||
foobar
|
||||
EOF
|
||||
PGSETUP_INITDB_OPTIONS="-A password -U postgres --pwfile=$PWFILE" \
|
||||
sudo -E postgresql-setup --initdb --unit postgresql
|
||||
sudo systemctl start postgresql
|
||||
PGUSER=postgres PGPASSWORD=foobar PGHOST=localhost PGPORT=5432 \
|
||||
sudo -E -u postgres psql -c "CREATE DATABASE osbuildcomposer;"
|
||||
|
||||
# Initialize a module in a temp dir so we can get tern without introducing
|
||||
# vendoring inconsistency
|
||||
pushd "$(mktemp -d)"
|
||||
go mod init temp
|
||||
go get github.com/jackc/tern
|
||||
PGUSER=postgres PGPASSWORD=foobar PGDATABASE=osbuildcomposer PGHOST=localhost PGPORT=5432 \
|
||||
go run github.com/jackc/tern migrate -m /usr/share/tests/osbuild-composer/schemas
|
||||
popd
|
||||
|
||||
# Change to the working directory.
|
||||
cd $WORKING_DIRECTORY
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue