Skip to content

Commit

Permalink
ci: change to use GitHub actions
Browse files Browse the repository at this point in the history
Signed-off-by: PoAn Yang <[email protected]>
  • Loading branch information
FrankYang0529 committed May 6, 2024
1 parent fe00de2 commit c15f454
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 7 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: build
on:
push:
branches:
- main
pull_request:
jobs:
build-amd64:
name: Build AMD64 binaries
# runs-on: longhorn-infra-amd64-runners
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

# - name: Install make & curl
# run: |
# sudo apt update
# sudo apt-get -y install make curl

# - name: List module
# run: |
# lsmod

# Build binaries
- name: Run ci
run: make ci

- uses: codecov/codecov-action@v4
with:
files: ./coverage.out
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}

build-arm64:
name: Build ARM64 binaries
runs-on: longhorn-infra-arm64-runners
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install make & curl
run: |
sudo apt update
sudo apt-get -y install make curl
# Build binaries
- name: Run ci
run: make ci

- uses: codecov/codecov-action@v4
with:
files: ./coverage.out
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}
12 changes: 5 additions & 7 deletions Dockerfile.dapper
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM registry.suse.com/bci/bci-base:15.5
FROM registry.suse.com/bci/golang:1.22

ARG DAPPER_HOST_ARCH=amd64
ARG http_proxy
Expand All @@ -21,17 +21,15 @@ RUN zypper -n addrepo --refresh https://download.opensuse.org/repositories/syste
zypper -n addrepo --refresh https://download.opensuse.org/repositories/devel:languages:python:backports/SLE_15/devel:languages:python:backports.repo && \
zypper --gpg-auto-import-keys ref

RUN zypper -n install cmake curl wget git gcc tar xsltproc docbook-xsl-stylesheets python3 meson ninja python3-pip \
RUN zypper -n install cmake curl wget gcc tar xsltproc docbook-xsl-stylesheets python3 meson ninja python3-pip \
e2fsprogs xfsprogs util-linux-systemd python3-pyelftools libcmocka-devel device-mapper

# Install Go & tools
ENV GOLANG_ARCH_amd64=amd64 GOLANG_ARCH_arm64=arm64 GOLANG_ARCH_s390x=s390x GOLANG_ARCH=GOLANG_ARCH_${ARCH} \
GOPATH=/go PATH=/go/bin:/usr/local/go/bin:${PATH} SHELL=/bin/bash
RUN wget -O - https://storage.googleapis.com/golang/go1.22.2.linux-${!GOLANG_ARCH}.tar.gz | tar -xzf - -C /usr/local
# Install golangci-lint
RUN curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.55.2


# Build SPDK
ENV HUGEMEM=1024
RUN echo "vm.nr_hugepages=$((HUGEMEM/2))" >> /etc/sysctl.conf
ENV SPDK_DIR /usr/src/spdk
ENV SPDK_COMMIT_ID 62a8f8a9c5ac99f6e63d654f6fc6c427c5d8815b
RUN git clone https://github.com/longhorn/spdk.git ${SPDK_DIR} --recursive && \
Expand Down
9 changes: 9 additions & 0 deletions pkg/spdk/spdk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
. "gopkg.in/check.v1"

commonTypes "github.com/longhorn/go-common-libs/types"
"github.com/sirupsen/logrus"

"github.com/longhorn/go-spdk-helper/pkg/jsonrpc"
"github.com/longhorn/go-spdk-helper/pkg/nvme"
Expand Down Expand Up @@ -52,7 +53,11 @@ func LaunchTestSPDKTarget(c *C, execute func(envs []string, binary string, args
if spdkCli, err := client.NewClient(context.Background()); err == nil {
if _, err := spdkCli.BdevGetBdevs("", 0); err == nil {
targetReady = true
} else {
logrus.Warnf("Failed to get SPDK bdevs: %v", err)
}
} else {
logrus.Warnf("Failed to create SPDK client: %v", err)
}

if !targetReady {
Expand All @@ -66,7 +71,11 @@ func LaunchTestSPDKTarget(c *C, execute func(envs []string, binary string, args
if _, err := spdkCli.BdevGetBdevs("", 0); err == nil {
targetReady = true
break
} else {

Check notice on line 74 in pkg/spdk/spdk_test.go

View check run for this annotation

codefactor.io / CodeFactor

pkg/spdk/spdk_test.go#L74

If block ends with a break statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (superfluous-else)
logrus.Warnf("Failed to get SPDK bdevs: %v", err)
}
} else {
logrus.Warnf("Failed to create SPDK client: %v", err)
}
time.Sleep(time.Second)
}
Expand Down
10 changes: 10 additions & 0 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,16 @@ then
fi
echo "Hugepages configured: $hugepages"

modules=("uio_pci_generic" "nvme-tcp")

for module in "${modules[@]}"
do
if ! modprobe "$module"; then
echo "Failed to load $module module"
exit 1
fi
done

mount --rbind /host/dev /dev
mount --rbind /host/sys /sys
trap "umount /dev && umount /sys" EXIT
Expand Down

0 comments on commit c15f454

Please sign in to comment.