Skip to content

Commit

Permalink
Docker workflow changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Minionguyjpro committed Oct 13, 2024
1 parent d0e8385 commit 309700b
Showing 1 changed file with 31 additions and 83 deletions.
114 changes: 31 additions & 83 deletions .github/workflows/docker-publish-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,6 @@ on:
release:
types: [published]

env:
# Sets the Docker registry
DOCKER_REGISTRY: docker.io
# Sets the GitHub registry
GITHUB_REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}


jobs:
build:

Expand All @@ -36,111 +27,68 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/[email protected]
with:
cosign-release: 'v1.11.0'

# Login against the Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.DOCKER_REGISTRY }}
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2.1.0
uses: docker/login-action@v3
with:
registry: ${{ env.DOCKER_REGISTRY }}
registry: docker.io
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

# Login against the GitHub registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.GITHUB_REGISTRY }}
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v2.1.0
uses: docker/login-action@v3
with:
registry: ${{ env.GITHUB_REGISTRY }}
username: ${{ github.actor }}
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (Docker Registry)
id: meta_docker
- name: Extract Docker metadata
id: meta-docker
uses: docker/[email protected]
with:
images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}

# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (GitHub Registry)
id: meta_github
uses: docker/[email protected]
with:
images: ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}
images: |
docker.io/${{ github.repository }}
ghcr.io/${{ github.repository }}
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image (Docker registry)
id: build-and-push_docker
uses: mr-smithers-excellent/docker-build-push@v5
- name: Get repository name (without repository owner)
uses: jungwinter/split@v2
id: repo-name
with:
image: minionguyjpro/winuefi
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: latest
pushImage: false
if: ${{ github.event_name != 'release' }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image on release (Docker registry)
id: build-and-push_docker_release
uses: mr-smithers-excellent/docker-build-push@v5
with:
image: minionguyjpro/winuefi
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: latest
pushImage: true
if: ${{ github.event_name == 'release' }}

# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image (GitHub registry)
id: build-and-push
uses: mr-smithers-excellent/docker-build-push@v5
with:
image: winuefi
registry: ${{ env.GITHUB_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
tags: main
pushImage: false
if: ${{ github.event_name != 'release' }}

# Build and push Docker image with Buildx (don't push on PR)
msg: ${{ github.repository }}
separator: /
maxsplit: 1

# Build and push Docker image with Buildx
# https://github.com/docker/build-push-action
- name: Build and push Docker image on release (GitHub registry)
id: build-and-push_release
uses: mr-smithers-excellent/docker-build-push@v5
- name: Build and push Docker image (with push)
id: build-push
uses: docker/build-push-action@v6
with:
image: winuefi
registry: ${{ env.GITHUB_REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
tags: main
pushImage: true
if: ${{ github.event_name == 'release' }}
tags: |
docker.io/${{ secrets.DOCKER_USERNAME }}/${{ steps.repo-name.outputs._0 }}:${{ steps.meta-docker.outputs.tags }}
ghcr.io/${{ github.repository }}:${{ steps.meta-docker.outputs.tags }}
ghcr.io/${{ github.repository }}:latest
push: ${{ github.event_name != 'pull_request' }}

test:
needs: build
runs-on: windows-latest
steps:
- name: Run Docker image
run: docker run minionguyjpro/winuefi || exit /b 0
run: docker run ghcr.io/${{ github.repository }} || exit /b 0
shell: cmd

0 comments on commit 309700b

Please sign in to comment.