diff --git a/.github/workflows/container-release.yml b/.github/workflows/container-release.yml new file mode 100644 index 00000000..dc6e2fdd --- /dev/null +++ b/.github/workflows/container-release.yml @@ -0,0 +1,47 @@ +name: Container release + +on: + push: + branches: + - master + schedule: + - cron: '5 5 * * 0' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + fail-fast: false + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: Containerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + REPO=${GITHUB_REPOSITORY} + VERSION=${GITHUB_REF} \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4acd2e99..ea1aa55d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,9 +42,15 @@ jobs: container: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Run container tests - run: docker build --build-arg REPO=${GITHUB_REPOSITORY} --build-arg VERSION=${GITHUB_REF} -t quay.io/foreman/obal:$(echo ${GITHUB_REF} | tr '/' '_') . + - name: Build container + uses: docker/build-push-action@v5 + with: + file: Containerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + REPO=${GITHUB_REPOSITORY} + VERSION=${GITHUB_REF} lint: runs-on: ubuntu-latest diff --git a/Dockerfile b/Containerfile similarity index 94% rename from Dockerfile rename to Containerfile index a0538180..115518cd 100644 --- a/Dockerfile +++ b/Containerfile @@ -15,7 +15,9 @@ ARG REPO=theforeman/obal.git RUN dnf config-manager --add-repo https://downloads.kitenet.net/git-annex/linux/current/rpms/git-annex.repo && \ pip3 install --upgrade pip && \ pip3 install git+https://github.com/${REPO}@${VERSION} && \ - obal setup + obal setup && \ + dnf clean all + RUN mkdir -p /opt/packaging WORKDIR /opt/packaging