Merge pull request #1196 from Ashark/work/ashark/fix_grammar #245
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker - learnGitBranching image | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main # Trigger CI on main branch | |
- bmcclure/main | |
paths: | |
- '**/*' | |
- '.github/workflows/build-docker.yml' | |
pull_request: | |
branches: | |
- main # Trigger gated pipeline on PR to main | |
- bmcclure/main | |
paths: | |
- '**/*' | |
- '.github/workflows/build-docker.yml' | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
build-and-push-image: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Log in to the Container registry | |
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 | |
with: | |
tags: | | |
type=ref,event=pr | |
type=ref,event=branch | |
type=sha,format=long | |
type=raw,value=latest | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
- name: Build Docker image (non main branch) | |
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc | |
if: github.ref != 'refs/heads/bmcclure/main' | |
with: | |
context: . | |
load: true | |
push: false | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
- name: Build and push Docker image (main branch) | |
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc | |
if: github.ref == 'refs/heads/bmcclure/main' | |
with: | |
context: . | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
- id: lowercaseImageName | |
uses: ASzc/change-string-case-action@v2 | |
with: | |
string: ${{ env.IMAGE_NAME }} | |
- name: Save Docker Image archive to local filesystem | |
run: "docker save --output learnGitBranching.tar ${{env.REGISTRY}}/${{ steps.lowercaseImageName.outputs.lowercase }}" | |
- name: Upload application's Docker Image as pipeline artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
path: learnGitBranching.tar | |
name: learnGitBranching.tar |