diff --git a/.github/workflows/release-os-images.yml b/.github/workflows/release-os-images.yml new file mode 100644 index 000000000..16738d610 --- /dev/null +++ b/.github/workflows/release-os-images.yml @@ -0,0 +1,38 @@ +name: Release OS images + +on: + workflow_dispatch: + # Enable manual trigger of this action. + inputs: + user: + description: Container registry user. + default: weaveworks + required: true + version: + description: ignite version used for image tags. + required: true + +env: + DOCKER_USER: ${{ github.event.inputs.user }} + VERSION: ${{ github.event.inputs.version }} + +defaults: + run: + working-directory: images + +jobs: + image-build-push: + runs-on: ubuntu-latest + strategy: + matrix: + what: [alpine, amazon-kernel, amazonlinux, centos, kubeadm, opensuse, ubuntu] + steps: + - uses: actions/checkout@v2 + - name: Login to container registry + uses: docker/login-action@v1 + with: + registry: docker.io + username: ${{ secrets.CR_USER }} + password: ${{ secrets.CR_PAT }} + - run: make OP=build build-${{ matrix.what }} + - run: make OP=push build-${{ matrix.what }} diff --git a/images/Makefile b/images/Makefile index ed1dcebb9..00e51c2bf 100644 --- a/images/Makefile +++ b/images/Makefile @@ -141,18 +141,37 @@ push-all: build-all $(MAKE) OP=push build-all -build-all: +build-all: build-alpine build-amazon-kernel build-amazonlinux build-centos build-kubeadm build-opensuse build-ubuntu + +build-alpine: +ifeq ($(OP),build) + pushd alpine; \ + ${MAKE} alpine.tar; \ + popd; +endif + $(MAKE) ${OP} WHAT=alpine + +build-amazon-kernel: $(MAKE) ${OP} WHAT=amazon-kernel + +build-amazonlinux: $(MAKE) ${OP} WHAT=amazonlinux RELEASE=2 IS_LATEST=true - $(MAKE) ${OP} WHAT=alpine + +build-centos: + $(MAKE) ${OP} WHAT=centos RELEASE=7 + $(MAKE) ${OP} WHAT=centos RELEASE=8 IS_LATEST=true + +build-kubeadm: + $(MAKE) ${OP} WHAT=kubeadm RELEASE=v1.18.3 BINARY_REF=release/stable-1.18 IS_LATEST=true IS_MANIFEST_LIST=1 GOARCH=arm64 + $(MAKE) ${OP} WHAT=kubeadm RELEASE=v1.18.3 BINARY_REF=release/stable-1.18 IS_LATEST=true IS_MANIFEST_LIST=1 GOARCH=amd64 + +build-opensuse: $(MAKE) ${OP} WHAT=opensuse RELEASE=leap IS_LATEST=true $(MAKE) ${OP} WHAT=opensuse RELEASE=tumbleweed + +build-ubuntu: $(MAKE) ${OP} WHAT=ubuntu RELEASE=16.04 IS_MANIFEST_LIST=0 $(MAKE) ${OP} WHAT=ubuntu RELEASE=18.04 IS_MANIFEST_LIST=1 GOARCH=arm64 $(MAKE) ${OP} WHAT=ubuntu RELEASE=18.04 IS_MANIFEST_LIST=1 GOARCH=amd64 $(MAKE) ${OP} WHAT=ubuntu RELEASE=20.04 IS_LATEST=true IS_MANIFEST_LIST=1 GOARCH=arm64 $(MAKE) ${OP} WHAT=ubuntu RELEASE=20.04 IS_LATEST=true IS_MANIFEST_LIST=1 GOARCH=amd64 - $(MAKE) ${OP} WHAT=centos RELEASE=7 - $(MAKE) ${OP} WHAT=centos RELEASE=8 IS_LATEST=true - $(MAKE) ${OP} WHAT=kubeadm RELEASE=v1.18.3 BINARY_REF=release/stable-1.18 IS_LATEST=true IS_MANIFEST_LIST=1 GOARCH=arm64 - $(MAKE) ${OP} WHAT=kubeadm RELEASE=v1.18.3 BINARY_REF=release/stable-1.18 IS_LATEST=true IS_MANIFEST_LIST=1 GOARCH=amd64