new(ci): added github action workflows for dev and release CI (packages + docker images publish).

Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
This commit is contained in:
Federico Di Pierro
2023-04-17 12:11:15 +02:00
committed by poiana
parent 53c9f3a743
commit b138e4c9e1
6 changed files with 645 additions and 0 deletions

View File

@@ -0,0 +1,142 @@
# This is a reusable workflow used by dev_packages and release_packages
on:
workflow_call:
inputs:
tagname:
description: master or tag name
required: true
type: string
jobs:
publish-docker:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_SECRET }}
- name: Login to Amazon ECR Public
run: |
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/falcosecurity
- name: Create and push no-driver manifest
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco-no-driver:${{ inputs.tagname }}
images: falcosecurity/falco-no-driver:aarch64-${{ inputs.tagname }},falcosecurity/falco-no-driver:x86_64-${{ inputs.tagname }}
push: true
- name: Create and push slim manifest
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco:${{ inputs.tagname }}-slim
images: falcosecurity/falco:aarch64-${{ inputs.tagname }}-slim,falcosecurity/falco:x86_64-${{ inputs.tagname }}-slim
push: true
- name: Create and push no-driver manifest for ecr
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco-no-driver:${{ inputs.tagname }}
images: public.ecr.aws/falcosecurity/falco-no-driver:aarch64-${{ inputs.tagname }},public.ecr.aws/falcosecurity/falco-no-driver:x86_64-${{ inputs.tagname }}
push: true
- name: Create and push slim manifest for ecr
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco:${{ inputs.tagname }}-slim
images: public.ecr.aws/falcosecurity/falco:aarch64-${{ inputs.tagname }}-slim,public.ecr.aws/falcosecurity/falco:x86_64-${{ inputs.tagname }}-slim
push: true
- name: Create and push no-driver latest manifest
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco-no-driver:latest
images: falcosecurity/falco-no-driver:aarch64-latest,falcosecurity/falco-no-driver:x86_64-latest
push: true
- name: Create and push slim latest manifest
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco:latest-slim
images: falcosecurity/falco:aarch64-latest-slim,falcosecurity/falco:x86_64-latest-slim
push: true
- name: Create and push no-driver latest manifest for ecr
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco-no-driver:latest
images: public.ecr.aws/falcosecurity/falco-no-driver:aarch64-latest,public.ecr.aws/falcosecurity/falco-no-driver:x86_64-latest
push: true
- name: Create and push slim latest manifest for ecr
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco:latest-slim
images: public.ecr.aws/falcosecurity/falco:aarch64-latest-slim,public.ecr.aws/falcosecurity/falco:x86_64-latest-slim
push: true
- name: Create and push falco manifest
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco:${{ inputs.tagname }}
images: falcosecurity/falco:aarch64-${{ inputs.tagname }},falcosecurity/falco:x86_64-${{ inputs.tagname }}
push: true
- name: Create and push falco manifest for ecr
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco:${{ inputs.tagname }}
images: public.ecr.aws/falcosecurity/falco:aarch64-${{ inputs.tagname }},public.ecr.aws/falcosecurity/falco:x86_64-${{ inputs.tagname }}
push: true
- name: Create and push falco latest manifest
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco:latest
images: falcosecurity/falco:aarch64-latest,falcosecurity/falco:x86_64-latest
push: true
- name: Create and push falco latest manifest for ecr
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco:latest
images: public.ecr.aws/falcosecurity/falco:aarch64-latest,public.ecr.aws/falcosecurity/falco:x86_64-latest
push: true
- name: Create and push falco-driver-loader manifest
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco-driver-loader:${{ inputs.tagname }}
images: falcosecurity/falco-driver-loader:aarch64-${{ inputs.tagname }},falcosecurity/falco-driver-loader:x86_64-${{ inputs.tagname }}
push: true
- name: Create and push falco-driver-loader manifest for ecr
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco-driver-loader:${{ inputs.tagname }}
images: public.ecr.aws/falcosecurity/falco-driver-loader:aarch64-${{ inputs.tagname }},public.ecr.aws/falcosecurity/falco-driver-loader:x86_64-${{ inputs.tagname }}
push: true
- name: Create and push falco-driver-loader latest manifest
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: falcosecurity/falco-driver-loader:latest
images: falcosecurity/falco-driver-loader:aarch64-latest,falcosecurity/falco-driver-loader:x86_64-latest
push: true
- name: Create and push falco-driver-loader latest manifest for ecr
if: ${{ inputs.tagname != 'master' }}
uses: Noelware/docker-manifest-action@master
with:
inputs: public.ecr.aws/falcosecurity/falco-driver-loader:latest
images: public.ecr.aws/falcosecurity/falco-driver-loader:aarch64-latest,public.ecr.aws/falcosecurity/falco-driver-loader:x86_64-latest
push: true