Skip to content
This repository has been archived by the owner on Dec 7, 2023. It is now read-only.

Commit

Permalink
Add OS image release workflow
Browse files Browse the repository at this point in the history
This workflow can be used to build all the OS images in parallel and
publish them together.
  • Loading branch information
darkowlzz authored and stealthybox committed Nov 4, 2020
1 parent de46100 commit 96d9496
Showing 1 changed file with 158 additions and 0 deletions.
158 changes: 158 additions & 0 deletions .github/workflows/release-os-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
name: Release OS images

on:
workflow_dispatch:
# Enable manual trigger of this action.
inputs:
user:
description: Container registry user.
default: weaveworks
required: true

env:
DOCKER_USER: ${{ github.event.inputs.user }}

jobs:
ubuntu:
runs-on: ubuntu-latest
env:
WHAT: ubuntu
IS_MANIFEST_LIST: 1
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 }}
- name: Build ubuntu 18.04 amd64 image
env:
GOARCH: amd64
RELEASE: 18.04
run: cd images && make build
- name: Build ubuntu 18.04 arm64 image
env:
GOARCH: arm64
RELEASE: 18.04
run: cd images && make build
- name: Update manifest list for ubuntu 18.04
env:
RELEASE: 18.04
run: cd images && make push
- name: Build ubuntu 20.04 amd64 image
env:
GOARCH: amd64
RELEASE: 20.04
run: cd images && make build
- name: Build ubuntu 20.04 arm64 image
env:
GOARCH: arm64
RELEASE: 20.04
run: cd images && make build
- name: Update manifest list for ubuntu 20.04
env:
RELEASE: 20.04
run: cd images && make push

centos:
runs-on: ubuntu-latest
env:
WHAT: centos
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 }}
- name: Build and push centos 7 image
env:
RELEASE: 7
run: cd images && make build && make push
- name: Build and push centos 8 image
env:
RELEASE: 8
run: cd images && make build && make push

amazonlinux:
runs-on: ubuntu-latest
env:
WHAT: amazonlinux
RELEASE: 2
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 }}
- name: Build image
run: cd images && make build && make push

opensuse:
runs-on: ubuntu-latest
env:
WHAT: opensuse
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 }}
- name: Build opensuse leap image
env:
RELEASE: leap
run: cd images && make build && make push
- name: Build opensuse tumbleweed image
env:
RELEASE: tumbleweed
run: cd images && make build && make push

kubeadm:
runs-on: ubuntu-latest
env:
WHAT: kubeadm
IS_MANIFEST_LIST: 1
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 }}
- name: Build kubeadm v1.18.3 amd64 image
env:
GOARCH: amd64
RELEASE: v1.18.3
run: cd images && make build
- name: Build kubeadm v1.18.3 arm64 image
env:
GOARCH: arm64
RELEASE: v1.18.3
run: cd images && make build
- name: Update manifest list for kubeadm v1.18.3
env:
RELEASE: v1.18.3
run: cd images && make push

# aline:
# runs-on: ubuntu-latest
# env:
# WHAT: alpine
# RELEASE: latest
# 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 }}
# - name: Build image
# run: cd images && make build

0 comments on commit 96d9496

Please sign in to comment.