Skip to content

Commit

Permalink
Add github actions testing for postgres testing
Browse files Browse the repository at this point in the history
  • Loading branch information
JakeSiFive committed Jan 4, 2024
1 parent 28232d6 commit 6a9d931
Show file tree
Hide file tree
Showing 11 changed files with 35 additions and 33 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
run: make tarball

- name: Run Tests
run: make test && make unittest
run: make test && make unittest && make remoteCacheTests

- name: Check Wake Formatting
run: ./bin/wake-format.native-cpp14-release --auto --dry-run
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/alpine
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM alpine:3.14.0

RUN apk add m4 g++ make pkgconf git tar xz gmp-dev re2-dev sqlite-dev fuse-dev ncurses-dev dash sqlite-static ncurses-static linux-headers jq
RUN apk add m4 g++ make pkgconf git tar xz gmp-dev re2-dev sqlite-dev fuse-dev ncurses-dev dash sqlite-static ncurses-static linux-headers jq postgres

WORKDIR /build

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/centos-7.6
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM centos:7.6.1810
RUN yum -y update && yum clean all
RUN yum --setopt=skip_missing_names_on_install=False install -y rpm-build rpm-devel rpmlint make python bash coreutils diffutils patch rpmdevtools wget
RUN yum --setopt=skip_missing_names_on_install=False install -y epel-release
RUN yum --setopt=skip_missing_names_on_install=False install -y tar xz dash git which make gcc gcc-c++ fuse fuse-devel gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse iproute jq
RUN yum --setopt=skip_missing_names_on_install=False install -y tar xz dash git which make gcc gcc-c++ fuse fuse-devel gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse iproute jq postgres
RUN yum --setopt=skip_missing_names_on_install=False install -y centos-release-scl
RUN yum --setopt=skip_missing_names_on_install=False install -y devtoolset-9-gcc*
RUN rpmdev-setuptree
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/debian-bullseye
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM debian:bullseye

RUN apt-get update && apt-get install -y build-essential m4 devscripts git fuse libfuse-dev libgmp-dev libncurses5-dev libre2-dev libsqlite3-dev pkg-config squashfuse wget iproute2 jq
RUN apt-get update && apt-get install -y build-essential m4 devscripts git fuse libfuse-dev libgmp-dev libncurses5-dev libre2-dev libsqlite3-dev pkg-config squashfuse wget iproute2 jq postgres


WORKDIR /build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/fedora-38
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM fedora:38
RUN echo fastestmirror=1 >> /etc/dnf/dnf.conf
RUN dnf clean all
RUN dnf update -y
RUN dnf install -y rpm-build rpm-devel rpmlint make python39 bash diffutils patch rpmdevtools m4 tar xz dash git which make gcc gcc-c++ fuse fuse-devel gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse wget iproute jq
RUN dnf install -y rpm-build rpm-devel rpmlint make python39 bash diffutils patch rpmdevtools m4 tar xz dash git which make gcc gcc-c++ fuse fuse-devel gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse wget iproute jq postgres
RUN rpmdev-setuptree


Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/rocky-8
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM rockylinux/rockylinux:8
RUN echo fastestmirror=1 >> /etc/dnf/dnf.conf
RUN dnf clean all
RUN dnf install -y epel-release
RUN dnf install -y rpm-build rpm-devel rpmlint make python36 bash diffutils patch rpmdevtools m4 tar xz dash git which make gcc gcc-c++ fuse fuse-devel gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse wget iproute jq
RUN dnf install -y rpm-build rpm-devel rpmlint make python36 bash diffutils patch rpmdevtools m4 tar xz dash git which make gcc gcc-c++ fuse fuse-devel gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse wget iproute jq postgres
RUN rpmdev-setuptree


Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/rocky-9
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ RUN echo fastestmirror=1 >> /etc/dnf/dnf.conf
RUN dnf clean all
RUN dnf install -y epel-release
RUN dnf --enablerepo=crb install -y fuse-devel
RUN dnf install -y rpm-build rpm-devel rpmlint make python3 bash diffutils patch rpmdevtools m4 tar xz dash git which make gcc gcc-c++ fuse gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse dash wget iproute jq
RUN dnf install -y rpm-build rpm-devel rpmlint make python3 bash diffutils patch rpmdevtools m4 tar xz dash git which make gcc gcc-c++ fuse gmp-devel ncurses-devel sqlite-devel re2-devel squashfuse dash wget iproute jq postgres

RUN rpmdev-setuptree

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerfiles/ubuntu-22.04
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM ubuntu:22.04

RUN apt-get update && apt-get install -y build-essential m4 debhelper devscripts git fuse libfuse-dev libgmp-dev libncurses5-dev libre2-dev libsqlite3-dev pkg-config squashfuse wget iproute2 jq
RUN apt-get update && apt-get install -y build-essential m4 debhelper devscripts git fuse libfuse-dev libgmp-dev libncurses5-dev libre2-dev libsqlite3-dev pkg-config squashfuse wget iproute2 jq postgres

WORKDIR /build
ENV VERSION=1.70.0
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ test: wake.db
unittest: all
$(WAKE_ENV) ./bin/wake --in test_wake runUnitTests

remoteCacheTests: all
$(WAKE_ENV) ./bin/wake -d -x 'testPostgres Unit'

tarball: wake.db
$(WAKE_ENV) ./bin/wake build tarball

Expand Down
47 changes: 23 additions & 24 deletions rust/rsc/postgres-tests.wake
Original file line number Diff line number Diff line change
Expand Up @@ -41,33 +41,32 @@ export target testPostgres Unit =
# This is normally unsafe but we're just using it for
# a warning, you should never depend on the result here
require _, _ = files "{@here}/vendor" `.*`
else
failWithError "You forgot to run `cargo vendor --locked` inside {@here}"

else failWithError "You forgot to run `cargo vendor --locked` inside {@here}"

# This script is piped in via stdin so that
# as shells are opened one after the other,
# the successive commands are run as intended
def script =
"""
set -ex
trap 'exit $(/tmp/status)' 0
unshare -U
export HOME=/root
mkdir %{dataDir}
echo $? > /tmp/status
%{postgresDir}/initdb -D %{dataDir}
echo $? > /tmp/status
%{postgresDir}/postgres -D %{dataDir} &
trap "kill $!" 0
sleep 2s
%{postgresDir}/createuser -h localhost root
echo $? > /tmp/status
%{postgresDir}/createdb -h localhost shim
echo $? > /tmp/status
cd %{@here}
%{cargoPath} test
echo $? > /tmp/status
exit $(cat /tmp/status) # exit the unshare shell
set -ex
trap 'exit $(/tmp/status)' 0
unshare -U
export HOME=/root
mkdir %{dataDir}
echo $? > /tmp/status
%{postgresDir}/initdb -D %{dataDir}
echo $? > /tmp/status
%{postgresDir}/postgres -D %{dataDir} &
trap "kill $!" 0
sleep 2s
%{postgresDir}/createuser -h localhost root
echo $? > /tmp/status
%{postgresDir}/createdb -h localhost shim
echo $? > /tmp/status
cd %{@here}
%{cargoPath} test
echo $? > /tmp/status
exit $(cat /tmp/status) # exit the unshare shell
"""

# Jobs require that we write stdin out to a file in order to
Expand All @@ -77,8 +76,8 @@ export target testPostgres Unit =

def emitVendorWarning status =
require (Exited 0) = status
else
failWithError "cargo tests failed: Consider running `cargo vendor --locked` in {@here}"
else failWithError "cargo tests failed: Consider running `cargo vendor --locked` in {@here}"

Pass status

makeExecPlan ("{wakePath}/wakebox", "-p", pgJsonPath.getPathName, Nil) Nil
Expand Down
2 changes: 1 addition & 1 deletion scripts/which_wake_files
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ fi

if [[ ${1} == "changed" ]]; then
CHANGED_FILES=$(git --git-dir ${WAKE_ROOT}.git diff --name-only | grep '\.wake$' | grep -v 'tests/' | grep -v "manifest.wake")
STAGED_FILES=$(git --git-dir ${WAKE_ROOT}.git diff --name-only --cached | grep '\.wake' | grep -v 'tests/' | grep -v "manifest.wake")
STAGED_FILES=$(git --git-dir ${WAKE_ROOT}.git diff --name-only --cached | grep '\.wake$' | grep -v 'tests/' | grep -v "manifest.wake")
MERGED="${CHANGED_FILES} ${STAGED_FILES}"

echo ${MERGED}
Expand Down

0 comments on commit 6a9d931

Please sign in to comment.