WIP: Merging of API and Manager to IntelMQ project #345
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Github Workflow to build container image | ||
# | ||
# SPDX-FileCopyrightText: 2021 Sebastian Waldbauer | ||
# SPDX-License-Identifier: AGPL-3.0-or-later | ||
# | ||
#name: "Build and upload docker image" | ||
# | ||
#on: | ||
# push: | ||
# branches: ['develop'] | ||
# paths-ignore: | ||
# - '.github/**' | ||
# | ||
#jobs: | ||
# docker: | ||
# name: Building Docker image | ||
# runs-on: ubuntu-latest | ||
# | ||
# steps: | ||
# - name: Check if environment is ACT | ||
# run: sudo chown runner:docker /var/run/docker.sock | ||
# if: ${{ env.ACT }} | ||
# | ||
# - name: Checkout IntelMQ-Docker | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# ref: 'main' | ||
# repository: certat/intelmq-docker | ||
# path: ./work | ||
# | ||
# - name: Checkout IntelMQ-Manager | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# ref: 'develop' | ||
# repository: certtools/intelmq-manager | ||
# path: ./work/intelmq-manager | ||
# | ||
# - name: Checkout IntelMQ-API | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# ref: 'develop' | ||
# repository: certtools/intelmq-api | ||
# path: ./work/intelmq-api | ||
# | ||
# - name: Checkout IntelMQ | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# ref: 'develop' | ||
# path: ./work/intelmq | ||
# | ||
# - name: Setup QEMU | ||
# uses: docker/setup-qemu-action@v2 | ||
# | ||
# - name: Setup Docker Buildx | ||
# uses: docker/setup-buildx-action@v2 | ||
# | ||
# - name: Login to DockerHub | ||
# uses: docker/login-action@v2 | ||
# if: github.repository == 'certtools/intelmq' && !${{ env.ACT }} | ||
# with: | ||
# username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
# password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
# | ||
# - name: Install python build requirements | ||
# run: | | ||
# pip3 install mako | ||
# | ||
# - name: Build | ||
# run: | | ||
# cd work | ||
# ./build.sh | ||
# | ||
# - name: Test | ||
# run: | | ||
# cd work | ||
# ./test.sh | ||
# | ||
# - name: Publish develop version to dockerhub | ||
# if: github.repository == 'certtools/intelmq' && !${{ env.ACT }} | ||
# run: | | ||
# docker tag intelmq-full:latest certat/intelmq-full:develop | ||
# docker push certat/intelmq-full:develop | ||
name: "Build and upload Docker image" | ||
on: | ||
push: | ||
branches: | ||
- develop | ||
- merge-projects | ||
tags: | ||
- "*.*.*" | ||
pull_request: | ||
branches: | ||
- develop | ||
release: | ||
types: | ||
- published | ||
jobs: | ||
docker: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: "Checkout repository" | ||
uses: actions/checkout@v4 | ||
- name: "Docker metadata" | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: | | ||
# ${{ secrets.DOCKERHUB_USERNAME }}/intelmq | ||
ghcr.io/${{ github.repository_owner }}/intelmq | ||
# generate Docker tags based on the following events/attributes | ||
tags: | | ||
type=ref,event=branch | ||
type=ref,event=pr | ||
type=semver,pattern={{version}} | ||
type=semver,pattern={{major}}.{{minor}} | ||
type=semver,pattern={{major}} | ||
type=sha | ||
- name: "Set up QEMU" | ||
uses: docker/setup-qemu-action@v3 | ||
- name: "Set up Docker Buildx" | ||
uses: docker/setup-buildx-action@v3 | ||
# - name: "Login to Docker Hub" | ||
# if: github.event_name != 'pull_request' | ||
# uses: docker/login-action@v3 | ||
# with: | ||
# username: ${{ secrets.DOCKERHUB_USERNAME }} | ||
# password: ${{ secrets.DOCKERHUB_TOKEN }} | ||
- name: Login to GHCR | ||
if: github.event_name != 'pull_request' | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: "Build and push" | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} |