Merge pull request #4580 from dmcgowan/move-release-build-makefile
Move CRI release logic to Makefile
This commit is contained in:
commit
efc67b192d
30
.github/workflows/release.yml
vendored
30
.github/workflows/release.yml
vendored
@ -126,46 +126,22 @@ jobs:
|
||||
name: containerd-binaries-${{ matrix.os }}
|
||||
path: src/github.com/containerd/containerd/*.tar.gz*
|
||||
|
||||
- name: Install cri-containerd dependencies
|
||||
- name: Make cri-containerd tar
|
||||
shell: bash
|
||||
env:
|
||||
RUNC_FLAVOR: runc
|
||||
DESTDIR: ${{ github.workspace }}/cri-release
|
||||
run: |
|
||||
mkdir ${DESTDIR}
|
||||
if [[ "${OS}" == "linux" ]]; then
|
||||
sudo install -d ${DESTDIR}/usr/local/bin
|
||||
sudo install -D -m 755 bin/* ${DESTDIR}/usr/local/bin
|
||||
sudo install -d ${DESTDIR}/opt/containerd/cluster
|
||||
sudo cp -r contrib/gce ${DESTDIR}/opt/containerd/cluster/
|
||||
sudo install -d ${DESTDIR}/etc/systemd/system
|
||||
sudo install -m 644 containerd.service ${DESTDIR}/etc/systemd/system
|
||||
echo "CONTAINERD_VERSION: '${RELEASE_VER#v}'" | sudo tee ${DESTDIR}/opt/containerd/cluster/version
|
||||
|
||||
sudo PATH=$PATH script/setup/install-seccomp
|
||||
USESUDO=true script/setup/install-runc
|
||||
script/setup/install-cni
|
||||
script/setup/install-critools
|
||||
elif [[ "${OS}" == "windows" ]]; then
|
||||
script/setup/install-cni-windows
|
||||
cp bin/* ${DESTDIR}/
|
||||
fi
|
||||
make cri-cni-release
|
||||
working-directory: src/github.com/containerd/containerd
|
||||
|
||||
- name: Make cri-containerd tar
|
||||
shell: bash
|
||||
run: |
|
||||
TARFILE="cri-containerd-cni-${RELEASE_VER#v}-${OS}-amd64.tar.gz"
|
||||
[[ "${OS}" == "linux" ]] && tar czf ${TARFILE} etc usr opt
|
||||
[[ "${OS}" == "windows" ]] && tar czf ${TARFILE} *
|
||||
sha256sum ${TARFILE} >${TARFILE}.sha256sum
|
||||
working-directory: cri-release
|
||||
|
||||
- name: Save cri-containerd binaries
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: cri-containerd-binaries-${{ matrix.os }}
|
||||
path: cri-release/cri-containerd-cni-*.tar.gz*
|
||||
path: src/github.com/containerd/containerd/releases/cri-containerd-cni-*.tar.gz*
|
||||
|
||||
release:
|
||||
name: Create containerd Release
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -4,4 +4,7 @@ coverage.txt
|
||||
profile.out
|
||||
containerd.test
|
||||
_site/
|
||||
releases/*.tar.gz
|
||||
releases/*.tar.gz.sha256sum
|
||||
_output/
|
||||
.vagrant/
|
||||
|
60
Makefile
60
Makefile
@ -65,6 +65,8 @@ WHALE = "🇩"
|
||||
ONI = "👹"
|
||||
|
||||
RELEASE=containerd-$(VERSION:v%=%).${GOOS}-${GOARCH}
|
||||
CRIRELEASE=cri-containerd-$(VERSION:v%=%)-${GOOS}-${GOARCH}
|
||||
CRICNIRELEASE=cri-containerd-cni-$(VERSION:v%=%)-${GOOS}-${GOARCH}
|
||||
|
||||
PKG=github.com/containerd/containerd
|
||||
|
||||
@ -120,7 +122,10 @@ BINARIES=$(addprefix bin/,$(COMMANDS))
|
||||
TESTFLAGS ?= $(TESTFLAGS_RACE) $(EXTRA_TESTFLAGS)
|
||||
TESTFLAGS_PARALLEL ?= 8
|
||||
|
||||
.PHONY: clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install uninstall vendor release mandir install-man genman
|
||||
OUTPUTDIR = $(join $(ROOTDIR), _output)
|
||||
CRIDIR=$(OUTPUTDIR)/cri
|
||||
|
||||
.PHONY: clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install uninstall vendor release mandir install-man genman install-cri-deps cri-release cri-cni-release
|
||||
.DEFAULT: default
|
||||
|
||||
all: binaries
|
||||
@ -245,13 +250,64 @@ releases/$(RELEASE).tar.gz: $(BINARIES)
|
||||
@tar -czf releases/$(RELEASE).tar.gz -C releases/$(RELEASE) bin
|
||||
@rm -rf releases/$(RELEASE)
|
||||
|
||||
release: $(BINARIES) releases/$(RELEASE).tar.gz
|
||||
release: releases/$(RELEASE).tar.gz
|
||||
@echo "$(WHALE) $@"
|
||||
@cd releases && sha256sum $(RELEASE).tar.gz >$(RELEASE).tar.gz.sha256sum
|
||||
|
||||
ifeq ($(GOOS),windows)
|
||||
install-cri-deps: $(BINARIES)
|
||||
mkdir -p $(CRIDIR)
|
||||
DESTDIR=$(CRIDIR) script/setup/install-cni-windows
|
||||
cp bin/* $(CRIDIR)
|
||||
else
|
||||
install-cri-deps: $(BINARIES)
|
||||
@sudo rm -rf ${CRIDIR}
|
||||
@sudo install -d ${CRIDIR}/usr/local/bin
|
||||
@sudo install -D -m 755 bin/* ${CRIDIR}/usr/local/bin
|
||||
@sudo install -d ${CRIDIR}/opt/containerd/cluster
|
||||
@sudo cp -r contrib/gce ${CRIDIR}/opt/containerd/cluster/
|
||||
@sudo install -d ${CRIDIR}/etc/systemd/system
|
||||
@sudo install -m 644 containerd.service ${CRIDIR}/etc/systemd/system
|
||||
echo "CONTAINERD_VERSION: '$(VERSION:v%=%)'" | sudo tee ${CRIDIR}/opt/containerd/cluster/version
|
||||
|
||||
DESTDIR=$(CRIDIR) USESUDO=true script/setup/install-runc
|
||||
DESTDIR=$(CRIDIR) script/setup/install-cni
|
||||
DESTDIR=$(CRIDIR) script/setup/install-critools
|
||||
|
||||
@sudo install -d $(CRIDIR)/bin
|
||||
@sudo install $(BINARIES) $(CRIDIR)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(GOOS),windows)
|
||||
releases/$(CRIRELEASE).tar.gz: install-cri-deps
|
||||
@echo "$(WHALE) $@"
|
||||
@cd $(CRIDIR) && tar -czf ../../releases/$(CRIRELEASE).tar.gz *
|
||||
|
||||
releases/$(CRICNIRELEASE).tar.gz: install-cri-deps
|
||||
@echo "$(WHALE) $@"
|
||||
@cd $(CRIDIR) && tar -czf ../../releases/$(CRICNIRELEASE).tar.gz *
|
||||
else
|
||||
releases/$(CRIRELEASE).tar.gz: install-cri-deps
|
||||
@echo "$(WHALE) $@"
|
||||
@tar -czf releases/$(CRIRELEASE).tar.gz -C $(CRIDIR) etc/crictl.yaml etc/systemd usr opt/containerd
|
||||
|
||||
releases/$(CRICNIRELEASE).tar.gz: install-cri-deps
|
||||
@echo "$(WHALE) $@"
|
||||
@tar -czf releases/$(CRICNIRELEASE).tar.gz -C $(CRIDIR) etc usr opt
|
||||
endif
|
||||
|
||||
cri-release: releases/$(CRIRELEASE).tar.gz
|
||||
@echo "$(WHALE) $@"
|
||||
@cd releases && sha256sum $(CRIRELEASE).tar.gz >$(CRIRELEASE).tar.gz.sha256sum
|
||||
|
||||
cri-cni-release: releases/$(CRICNIRELEASE).tar.gz
|
||||
@echo "$(WHALE) $@"
|
||||
@cd releases && sha256sum $(CRICNIRELEASE).tar.gz >$(CRICNIRELEASE).tar.gz.sha256sum
|
||||
|
||||
clean: ## clean up binaries
|
||||
@echo "$(WHALE) $@"
|
||||
@rm -f $(BINARIES)
|
||||
@if [[ -d $(OUTPUTDIR) ]]; then sudo rm -rf $(OUTPUTDIR); fi
|
||||
|
||||
clean-test: ## clean up debris from previously failed tests
|
||||
@echo "$(WHALE) $@"
|
||||
|
Loading…
Reference in New Issue
Block a user