GithubHelp home page GithubHelp logo

Comments (7)

mko-x avatar mko-x commented on June 16, 2024

I tried to manually run manifest-tool, that worked so far.

How do you recommend to configure hooks in hooks/post_push?

from docker-clamav.

mko-x avatar mko-x commented on June 16, 2024

You may try to install one and check the arch delivered

from docker-clamav.

WhiteBahamut avatar WhiteBahamut commented on June 16, 2024

I had a look into it and tried to figure out how it could be done. Might not be elegant, I am an Azure DevOps guy ;-)

So for each base image platform an action needs to be created, like the following:

# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
  push:
    branches: [ master ]
    paths:
      - "debian/buster"

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2

      - name: Prepare for QEMU
        run: sh -c "docker run --rm --privileged multiarch/qemu-user-static:register --reset"
        
      - name: Build and push Docker images
        # You may pin to the exact commit or the version.
        # uses: docker/build-push-action@ab83648e2e224cfeeab899e23b639660765c3a89
        uses: docker/[email protected]
        with:
          # Username used to log in to a Docker registry. If not set then no login will occur
          username: # optional
          # Password or personal access token used to log in to a Docker registry. If not set then no login will occur
          password: # optional
          # Server address of Docker registry. If not set then will default to Docker Hub
          registry: # optional
          # Docker repository to tag the image with
          repository: 
          # Comma-delimited list of tags. These will be added to the registry/repository to form the image's tags
          tags: # optional
          # Automatically tags the built image with the git reference as per the readme
          tag_with_ref: # optional
          # Automatically tags the built image with the git short SHA as per the readme
          tag_with_sha: # optional
          # Path to the build context
          path: # optional, default is .
          # Path to the Dockerfile (Default is '{path}/Dockerfile')
          dockerfile: # optional
          # Sets the target stage to build
          target: # optional
          # Always attempt to pull a newer version of the image
          always_pull: # optional
          # Comma-delimited list of build-time variables
          build_args: # optional
          # Comma-delimited list of images to consider as cache sources
          cache_froms: # optional
          # Comma-delimited list of labels to add to the built image
          labels: # optional
          # Adds labels with git repository information to the built image
          add_git_labels: # optional
          # Whether to push the image
          push: # optional, default is true

      - name: Push manifest
        run: curl -Lo manifest-tool https://github.com/estesp/manifest-tool/releases/download/v0.9.0/manifest-tool-linux-amd64 && chmod +x manifest-tool && ./manifest-tool push from-args --platforms linux/amd64,linux/arm/v7,linux/arm64/v8 --template mkodockx/docker-clamav:buster-slim-ARCHVARIANT --target ${repo}docker-clamav:buster-slim

Should trigger on master only if debian/buster changes were commited. Prepared the qemu requirements and then execute a docker build + push (should be mutliplied per Dockerfile) and at the end the manifest will pushed to DockerHub. Seems it could all be done within GitHub Action itself. Pay attention to the dockerx command credentials for DockerHub. Should be stored in repo Settings->Secrets.

from docker-clamav.

mko-x avatar mko-x commented on June 16, 2024

Ah, I just reealized that you bumped alpine to version 3.12
There shouldn't occur problems, but it may cause one or another.

from docker-clamav.

WhiteBahamut avatar WhiteBahamut commented on June 16, 2024

Ah, I just reealized that you bumped alpine to version 3.12
There shouldn't occur problems, but it may cause one or another.

wrong issue I assume ;-) But seems alpine:12 was not really the issue

from docker-clamav.

WhiteBahamut avatar WhiteBahamut commented on June 16, 2024

#80 can solve this as well :)

from docker-clamav.

mko-x avatar mko-x commented on June 16, 2024

This one should be fixed already, shouldn't it?

from docker-clamav.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.