feat: add dockerhub support

This commit is contained in:
Alexander Sharov 2024-06-14 14:50:49 +03:00
commit e723f9027f

View file

@ -13,27 +13,28 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 uses: actions/checkout@v4
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 - name: Login to ghcr.io
uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Set tag for image - name: Set tag for image
run: | run: |
echo IMAGE_TAG=$([ ${{ github.ref_type }} == 'tag' ] && echo ${{ github.ref_name }} || echo 'latest') >> $GITHUB_ENV echo IMAGE_TAG=$([ ${{ github.ref_type }} == 'tag' ] && echo ${{ github.ref_name }} || echo 'latest') >> $GITHUB_ENV
- name: Set up Docker Buildx - name: Build and Push release to ghcr.io
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
- name: Build and Push release
if: github.event_name != 'schedule' if: github.event_name != 'schedule'
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 uses: docker/build-push-action@v5
with: with:
context: . context: .
build-args: | build-args: |
@ -48,9 +49,9 @@ jobs:
secrets: | secrets: |
"github_token=${{ secrets.GITHUB_TOKEN }}" "github_token=${{ secrets.GITHUB_TOKEN }}"
- name: Build and Push nightly - name: Build and Push nightly to ghcr.io
if: github.event_name == 'schedule' if: github.event_name == 'schedule'
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 uses: docker/build-push-action@v5
with: with:
context: . context: .
build-args: | build-args: |
@ -63,3 +64,38 @@ jobs:
provenance: false provenance: false
secrets: | secrets: |
"github_token=${{ secrets.GITHUB_TOKEN }}" "github_token=${{ secrets.GITHUB_TOKEN }}"
- name: Login to DockerHub Container Registry
uses: docker/login-action@v3
with:
registry: registry.hub.docker.com
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build and Push release to DockerHub
if: github.event_name != 'schedule'
uses: docker/build-push-action@v5
with:
context: .
build-args: |
INSTALL_ALL=true
platforms: linux/amd64,linux/arm64
push: true
tags: |
tofuutils/pre-commit-opentofu:${{ env.IMAGE_TAG }}
tofuutils/pre-commit-opentofu:latest
provenance: false
- name: Build and Push nightly to DockerHub
if: github.event_name == 'schedule'
uses: docker/build-push-action@v5
with:
context: .
build-args: |
INSTALL_ALL=true
platforms: linux/amd64,linux/arm64
push: true
tags: |
tofuutils/pre-commit-opentofu:nightly
provenance: false