From 1b46540ea0fd788ca7b87e9f2f51502a48de15d9 Mon Sep 17 00:00:00 2001 From: Ramkumar Chinchani Date: Fri, 9 Jun 2023 16:48:03 +0000 Subject: [PATCH] fix: some more Signed-off-by: Ramkumar Chinchani --- .github/workflows/build.yaml | 26 +++++++++++++++++++++++--- Makefile | 5 +---- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 897637fa..9cfdcf05 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -90,29 +90,49 @@ jobs: go-version: ${{fromJson(inputs.go-version)}} privilege-level: ${{fromJson(inputs.privilege-level)}} build-id: ${{fromJson(inputs.build-id)}} + arch: ["aarch64"] name: "golang ${{ matrix.go-version }} privilege ${{ matrix.privilege-level }}" steps: - uses: actions/checkout@v3 - uses: benjlevesque/short-sha@v2.1 id: short-sha - uses: uraimo/run-on-arch-action@v2 - name: Run commands + name: Build for ${{ matrix.arch }} id: runcmd with: - arch: aarch64 + arch: ${{ matrix.arch }} distro: ubuntu22.04 # Not required, but speeds up builds by storing container images in # a GitHub package registry. githubToken: ${{ github.token }} + dockerRunArgs: -v $GITHUB_WORKSPACE:/src + # Set an output parameter `uname` for use in subsequent steps run: | uname -a echo ::set-output name=uname::$(uname -a) + # setup golang + apt-get update + apt-get install -yy wget curl tar software-properties-common git pkgconf build-essential + cd /tmp + wget -N https://go.dev/dl/go1.20.5.linux-arm64.tar.gz + rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.5.linux-arm64.tar.gz + export PATH=$PATH:/usr/local/go/bin + # install dependencies + export GOPATH=/src + add-apt-repository -y ppa:project-machine/squashfuse apt-get update apt-get install -yy lxc-utils lxc-dev libacl1-dev jq libcap-dev libseccomp-dev libpam-dev bats parallel libzstd-dev - + GO111MODULE=off go get github.com/opencontainers/umoci/cmd/umoci + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin + apt-get install -yy autoconf automake make autogen autoconf libtool binutils git squashfs-tools libcryptsetup-dev libdevmapper-dev cryptsetup-bin squashfuse + cd /src + make go-download + make show-info + make stacker-dynamic VERSION_FULL=${{ matrix.build-id }} + make stacker VERSION_FULL=${{ matrix.build-id }} STACKER_BUILD_BASE_IMAGE=docker://arm64v8/alpine:edge - name: Get the output # Echo the `uname` output parameter from the `runcmd` step run: | diff --git a/Makefile b/Makefile index 56730e2e..9f6b49c2 100644 --- a/Makefile +++ b/Makefile @@ -3,9 +3,6 @@ BUILD_D = $(TOP_LEVEL)/.build export GOPATH = $(BUILD_D)/gopath export GOCACHE = $(GOPATH)/gocache -OS ?= linux -ARCH ?= amd64 - GO_SRC=$(shell find pkg cmd -name \*.go) VERSION?=$(shell git describe --tags || git rev-parse HEAD) VERSION_FULL?=$(if $(shell git status --porcelain --untracked-files=no),$(VERSION)-dirty,$(VERSION)) @@ -16,7 +13,7 @@ BUILD_TAGS = exclude_graphdriver_btrfs exclude_graphdriver_devicemapper containe STACKER_OPTS=--oci-dir=$(BUILD_D)/oci --roots-dir=$(BUILD_D)/roots --stacker-dir=$(BUILD_D)/stacker --storage-type=overlay -build_stacker = GOOS=$(OS) GOARCH=$(ARCH) go build -tags "$(BUILD_TAGS) $1" -ldflags "-X main.version=$(VERSION_FULL) -X main.lxc_version=$(LXC_VERSION) $2" -o $3 ./cmd/stacker +build_stacker = go build -buildvcs=false -tags "$(BUILD_TAGS) $1" -ldflags "-X main.version=$(VERSION_FULL) -X main.lxc_version=$(LXC_VERSION) $2" -o $3 ./cmd/stacker STACKER_DOCKER_BASE?=docker:// STACKER_BUILD_BASE_IMAGE?=$(STACKER_DOCKER_BASE)alpine:edge