From af036f21b658f037fd8285c67dc100fd6d80089c Mon Sep 17 00:00:00 2001 From: Elle Mouton Date: Mon, 23 Sep 2024 12:42:59 +0900 Subject: [PATCH] make+gh: run unit tests --- .github/workflows/main.yml | 49 ++++++++++++++++++++++++++++++++++++++ Makefile | 11 +++++++++ 2 files changed, 60 insertions(+) create mode 100644 .github/workflows/main.yml create mode 100644 Makefile diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..8406a4b --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,49 @@ +name: CI + +on: + push: + branches: + - "master" + pull_request: + branches: + - "*" + +defaults: + run: + shell: bash + +env: + # go needs absolute directories, using the $HOME variable doesn't work here. + GOCACHE: /home/runner/work/go/pkg/build + GOPATH: /home/runner/work/go + GO_VERSION: 1.22.3 + +jobs: + ######################## + # run unit tests + ######################## + unit-test: + name: run unit tests + runs-on: ubuntu-latest + steps: + - name: git checkout + uses: actions/checkout@v3 + + - name: go cache + uses: actions/cache@v3 + with: + path: /home/runner/work/go + key: btclog-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }} + restore-keys: | + btclog-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}-${{ hashFiles('**/go.sum') }} + btclog-${{ runner.os }}-go-${{ env.GO_VERSION }}-${{ github.job }}- + btclog-${{ runner.os }}-go-${{ env.GO_VERSION }}- + btclog-${{ runner.os }}-go- + + - name: setup go ${{ env.GO_VERSION }} + uses: actions/setup-go@v3 + with: + go-version: '~${{ env.GO_VERSION }}' + + - name: run unit tests + run: make unit diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..52fb787 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +PKG := github.com/lightninglabs/btclog + +GOLIST := go list -deps $(PKG)/... | grep '$(PKG)'| grep -v '/vendor/' +GOTEST := go test -v + +XARGS := xargs -L 1 +UNIT := $(GOLIST) | $(XARGS) env $(GOTEST) $(TEST_FLAGS) + +unit: + @$(call print, "Running unit tests.") + $(UNIT) \ No newline at end of file