diff --git a/.github/workflows/pull-request-validation.yml b/.github/workflows/pull-request-validation.yml new file mode 100644 index 00000000..c6983d72 --- /dev/null +++ b/.github/workflows/pull-request-validation.yml @@ -0,0 +1,12 @@ +name: PR +on: pull_request + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Test with dapper + run: | + make pr-validation diff --git a/Dockerfile.dapper b/Dockerfile.dapper index b3c80b16..ac412295 100644 --- a/Dockerfile.dapper +++ b/Dockerfile.dapper @@ -96,6 +96,7 @@ ARG USER_DOCKER_ENGINE_VERSION=docker-${USER_DOCKER_VERSION} ARG AZURE_SERVICE=false ARG PROXMOXVE_SERVICE=false +ARG SKIP_BUILD=false ###################################################### # Set up environment and export all ARGS as ENV @@ -138,7 +139,8 @@ ENV BUILD_DOCKER_URL=BUILD_DOCKER_URL_${ARCH} \ USER_DOCKER_VERSION=${USER_DOCKER_VERSION} \ USER_DOCKER_ENGINE_VERSION=${USER_DOCKER_ENGINE_VERSION} \ AZURE_SERVICE=${AZURE_SERVICE} \ - PROXMOXVE_SERVICE=${PROXMOXVE_SERVICE} + PROXMOXVE_SERVICE=${PROXMOXVE_SERVICE} \ + SKIP_BUILD=${SKIP_BUILD} ENV PATH=${GOPATH}/bin:/usr/local/go/bin:$PATH RUN mkdir -p ${DOWNLOADS} @@ -146,8 +148,8 @@ RUN mkdir -p ${DOWNLOADS} # Download kernel RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN echo "... Downloading ${!KERNEL_URL}"; \ - if [ -n "${!KERNEL_URL}" ]; then \ - curl -fL ${!KERNEL_URL} > ${DOWNLOADS}/kernel.tar.xz \ + if [ "${!KERNEL_URL}" != "skip" ]; then \ + curl -fL ${!KERNEL_URL} > ${DOWNLOADS}/kernel.tar.gz \ ;fi # Download SELinux Policy diff --git a/Makefile b/Makefile index 45cce022..fcdcd6f8 100755 --- a/Makefile +++ b/Makefile @@ -10,6 +10,12 @@ TARGETS := $(shell ls scripts | grep -vE 'clean|run|help|release*|build-moby|run $(TARGETS): .dapper ./.dapper $@ +pr-validation: .dapper + ARCH="amd64" \ + KERNEL_URL_amd64="skip" \ + SKIP_BUILD="true" \ + ./.dapper ci + trash: .dapper ./.dapper -m bind trash diff --git a/scripts/ci b/scripts/ci index ca5d68f7..eff0c0d4 100755 --- a/scripts/ci +++ b/scripts/ci @@ -3,8 +3,10 @@ set -ex cd $(dirname $0)/.. -echo BUILD -./scripts/build +if [ "$SKIP_BUILD" == "false" ]; then + echo BUILD + ./scripts/build +fi echo TEST ./scripts/test echo VALIDATE diff --git a/scripts/layout-kernel b/scripts/layout-kernel index 89102dfa..c57b7f74 100755 --- a/scripts/layout-kernel +++ b/scripts/layout-kernel @@ -2,14 +2,14 @@ set -e # Override using a local kernel build -if [ -e ${DAPPER_SOURCE}/assets/kernel.tar.xz ]; then - echo "copying ${DAPPER_SOURCE}/assets/kernel.tar.xz ${DOWNLOADS}/kernel.tar.xz" - cp ${DAPPER_SOURCE}/assets/kernel.tar.xz ${DOWNLOADS}/kernel.tar.xz +if [ -e ${DAPPER_SOURCE}/assets/kernel.tar.gz ]; then + echo "copying ${DAPPER_SOURCE}/assets/kernel.tar.gz ${DOWNLOADS}/kernel.tar.gz" + cp ${DAPPER_SOURCE}/assets/kernel.tar.gz ${DOWNLOADS}/kernel.tar.gz fi -if [ -e ${DOWNLOADS}/kernel.tar.xz ]; then +if [ -e ${DOWNLOADS}/kernel.tar.gz ]; then mkdir -p ${BUILD}/kernel - tar Jxf ${DOWNLOADS}/kernel.tar.xz -C ${BUILD}/kernel + tar xf ${DOWNLOADS}/kernel.tar.gz -C ${BUILD}/kernel for i in vmlinuz vmlinux; do if [ -e ${BUILD}/kernel/boot/${i}-* ]; then @@ -51,7 +51,7 @@ if [ -e ${DOWNLOADS}/kernel.tar.xz ]; then fi else if [ "$ARCH" == "amd64" ]; then - echo "no ${DOWNLOADS}/kernel.tar.xz found" + echo "no ${DOWNLOADS}/kernel.tar.gz found" exit 1 fi fi