From c75bada86b38088925be23d963f274f22a35f5b1 Mon Sep 17 00:00:00 2001 From: David Gageot Date: Fri, 7 Oct 2022 11:11:19 +0200 Subject: [PATCH] Add release workflow Signed-off-by: David Gageot --- .github/workflows/release.yml | 42 +++++++++++++++++++++++++++++++++++ Makefile | 16 +++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..e0dfa641e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,42 @@ +name: LinuxKit CI + +on: + create: + tags: + - v* + +jobs: + build: + name: Build all targets + runs-on: macos-latest + steps: + + - name: Set up Go 1.16 + uses: actions/setup-go@v2 + with: + go-version: 1.16.7 + id: go + + - name: Check out code + uses: actions/checkout@v1 + with: + path: ./src/github.com/linuxkit/linuxkit + + - name: Set path + run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH + env: + GOPATH: ${{runner.workspace}} + + - name: Build + run: | + make build-all-targets + env: + GOPATH: ${{runner.workspace}} + + - name: GitHub Release + uses: softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + draft: true + files: bin/* \ No newline at end of file diff --git a/Makefile b/Makefile index 7857f642e..678f4f309 100644 --- a/Makefile +++ b/Makefile @@ -117,3 +117,19 @@ endif for img in $(tags); do \ ./scripts/update-component-sha.sh --image $${img}$(image); \ done + +.PHONY: build-all-targets +build-all-targets: bin + $(MAKE) GOOS=darwin GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-arm64 local-build + file bin/linuxkit-darwin-arm64 + $(MAKE) GOOS=darwin GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-darwin-amd64 local-build + file bin/linuxkit-darwin-amd64 + $(MAKE) GOOS=linux GOARCH=arm64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-arm64 local-build + file bin/linuxkit-linux-arm64 + $(MAKE) GOOS=linux GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-amd64 local-build + file bin/linuxkit-linux-amd64 + $(MAKE) GOOS=linux GOARCH=s390x LOCAL_TARGET=$(CURDIR)/bin/linuxkit-linux-s390x local-build + file bin/linuxkit-linux-s390x + $(MAKE) GOOS=windows GOARCH=amd64 LOCAL_TARGET=$(CURDIR)/bin/linuxkit-windows-amd64.exe local-build + file bin/linuxkit-windows-amd64.exe + cd bin && openssl sha256 -r linuxkit-* | tr -d '*' > checksums.txt