Skip to content

Commit

Permalink
Update dockerimage.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
qoomon committed Mar 17, 2023
1 parent 5b9cfbc commit f13410c
Showing 1 changed file with 53 additions and 37 deletions.
90 changes: 53 additions & 37 deletions .github/workflows/dockerimage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ on:
- "v*"

env:
DOCKER_BUILDX_PLATFORM: linux/amd64,linux/arm64/v8,linux/arm/v7,linux/arm/v6
DOCKER_BUILDX_PLATFORMS: linux/amd64,linux/arm64/v8,linux/arm/v7,linux/arm/v6

jobs:

build:
Expand Down Expand Up @@ -38,40 +39,55 @@ jobs:
id: buildx
uses: docker/setup-buildx-action@v2

- name: build docker images
run: |
docker buildx build . \
--platform "${{ env.DOCKER_BUILDX_PLATFORM }}"
docker buildx build . \
--tag local/docker-host \
--load
- name: login to docker hub
if: ${{ env.GITHUB_BRANCH == 'master' || startsWith(env.GITHUB_TAG, 'v') }}
run: |
echo "${{ secrets.DOCKERHUB_PASSWORD }}" |
docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
- name: push docker images
- name: Build and export to Docker
uses: docker/build-push-action@v4
with:
context: .
load: true
tags: ${{ github.repository }}:test

# - name: Test
# run: |
# docker run --rm ${{ github.repository }}:test

- name: Login to Docker Hub
if: ${{ env.GITHUB_BRANCH == 'master' || startsWith(env.GITHUB_TAG, 'v') }}
env:
DOCKER_CLI_EXPERIMENTAL: enabled
run: |
DOCKER_REPOSITORY="$GITHUB_REPOSITORY"
DOCKER_TAGS=()
if [ "${GITHUB_BRANCH}" ]
then
DOCKER_TAGS=(${GITHUB_BRANCH/\//-})
elif [[ "$GITHUB_TAG" = v* ]]
then
VERSION=${GITHUB_TAG#v}
VERSION_PARTS=($(echo $VERSION | tr "." "\n"))
DOCKER_TAGS=(latest $VERSION ${VERSION_PARTS[0]})
fi
echo "image tag(s):"
printf " ${DOCKER_REPOSITORY}:%s\n" "${DOCKER_TAGS[@]}"
docker buildx build --push . \
--platform "${{ env.DOCKER_BUILDX_PLATFORM }}" \
${DOCKER_TAGS[@]/#/--tag ${DOCKER_REPOSITORY}:}
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Login to GitHub Container Registry
if: ${{ env.GITHUB_BRANCH == 'master' || startsWith(env.GITHUB_TAG, 'v') }}
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
if: ${{ env.GITHUB_BRANCH == 'master' || startsWith(env.GITHUB_TAG, 'v') }}
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ github.repository }}
ghcr.io/${{ github.repository }}
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: .
platforms: ${{ env.DOCKER_BUILDX_PLATFORMS }}
push: ${{ env.GITHUB_BRANCH == 'master' || startsWith(env.GITHUB_TAG, 'v') }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

0 comments on commit f13410c

Please sign in to comment.