From e046b64674d0897941578be2ae70db2eca931f3e Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:42:26 -0500 Subject: [PATCH 01/14] initial commit --- .github/workflows/build-and-push.yaml | 27 +++++++++++++++++++++++ .github/workflows/steps/diff-check.yaml | 19 ++++++++++++++++ .github/workflows/steps/docker-build.yaml | 26 ++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 .github/workflows/build-and-push.yaml create mode 100644 .github/workflows/steps/diff-check.yaml create mode 100644 .github/workflows/steps/docker-build.yaml diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml new file mode 100644 index 0000000..008f9aa --- /dev/null +++ b/.github/workflows/build-and-push.yaml @@ -0,0 +1,27 @@ +--- +name: Build and Push Docker Container + +on: + workflow_dispatch: + pull_request: + branches: [ $default_branch ] + +env: + github_runner: ubuntu-latest + container_name: gh-cli + docker_file: ubuntu20.Dockerfile + docker_tags: ghcr.io/gunnarwustl/gh-cli:ubuntu20 + +jobs: + diff_check: + runs-on: ${{ github_runner }} + steps: + - name: Diff Check + uses: .github/workflows/steps/diff-check.yaml + build: + runs-on: ${{ github_runner }} + steps: + - name: Build and Push + uses: .github/workflows/steps/docker-build.yaml + with: + push_image_bool: true diff --git a/.github/workflows/steps/diff-check.yaml b/.github/workflows/steps/diff-check.yaml new file mode 100644 index 0000000..80f81a9 --- /dev/null +++ b/.github/workflows/steps/diff-check.yaml @@ -0,0 +1,19 @@ +--- +name: Diff Check + +jobs: + diff_check: + runs-on: ${{ github_runner }} + outputs: + ${{ container_name }}: ${{ steps.filter.outputs.${{ container_name }} }} + steps: + - name: Checkout Code + uses: actions/checkout + + - name: Examine Paths and Files + uses: dorny/paths-filter + id: filter + with: + filters: | + ${{ container_name }}: + - ${{ docker_file }} diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml new file mode 100644 index 0000000..bc68ce2 --- /dev/null +++ b/.github/workflows/steps/docker-build.yaml @@ -0,0 +1,26 @@ +--- +name: Build ${{ container_name }} + +jobs: + build: + runs-on: ${{ github_runner }} + steps: + - name: Checkout Code + uses: actions/checkout + + - name: Container Repository Login + uses: docker/login-action + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Setup BuildKit + uses: docker/setup-buildx-action + + - name: Build and Push Container + uses: docker/build-push-action + with: + file: ${{ docker_file }} + tags: ${{ docker_tags }} + push: ${{ push_image_bool }} From c29cd099109e27beffcf088de826cb665fee602b Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:44:30 -0500 Subject: [PATCH 02/14] update workflow paths --- .github/workflows/build-and-push.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 008f9aa..c99feb9 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -17,11 +17,11 @@ jobs: runs-on: ${{ github_runner }} steps: - name: Diff Check - uses: .github/workflows/steps/diff-check.yaml + uses: ./.github/workflows/steps/diff-check.yaml build: runs-on: ${{ github_runner }} steps: - name: Build and Push - uses: .github/workflows/steps/docker-build.yaml + uses: ./.github/workflows/steps/docker-build.yaml with: push_image_bool: true From 439ef72271fb1a4eda12f6f544fefae93a02fafb Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:47:56 -0500 Subject: [PATCH 03/14] add action version numbers to uses: lines --- .github/workflows/steps/diff-check.yaml | 4 ++-- .github/workflows/steps/docker-build.yaml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/steps/diff-check.yaml b/.github/workflows/steps/diff-check.yaml index 80f81a9..f64d1e5 100644 --- a/.github/workflows/steps/diff-check.yaml +++ b/.github/workflows/steps/diff-check.yaml @@ -8,10 +8,10 @@ jobs: ${{ container_name }}: ${{ steps.filter.outputs.${{ container_name }} }} steps: - name: Checkout Code - uses: actions/checkout + uses: actions/checkout@v3 - name: Examine Paths and Files - uses: dorny/paths-filter + uses: dorny/paths-filter@v2 id: filter with: filters: | diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml index bc68ce2..1b3f88f 100644 --- a/.github/workflows/steps/docker-build.yaml +++ b/.github/workflows/steps/docker-build.yaml @@ -6,20 +6,20 @@ jobs: runs-on: ${{ github_runner }} steps: - name: Checkout Code - uses: actions/checkout + uses: actions/checkout@v3 - name: Container Repository Login - uses: docker/login-action + uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Setup BuildKit - uses: docker/setup-buildx-action + uses: docker/setup-buildx-action@v2 - name: Build and Push Container - uses: docker/build-push-action + uses: docker/build-push-action@v3 with: file: ${{ docker_file }} tags: ${{ docker_tags }} From 4b4382639b7dd266d214aaf3dbaca610bbc7e057 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:50:45 -0500 Subject: [PATCH 04/14] trigger workflow on push --- .github/workflows/build-and-push.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index c99feb9..83ab1bc 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -5,6 +5,7 @@ on: workflow_dispatch: pull_request: branches: [ $default_branch ] + push: env: github_runner: ubuntu-latest From 083c1fab4ec324bb59c5a48708236e5cc600060a Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:53:36 -0500 Subject: [PATCH 05/14] update github_runner to vars.github_runner --- .github/workflows/build-and-push.yaml | 4 ++-- .github/workflows/steps/docker-build.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 83ab1bc..0a647c4 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -15,12 +15,12 @@ env: jobs: diff_check: - runs-on: ${{ github_runner }} + runs-on: ${{ vars.github_runner }} steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml build: - runs-on: ${{ github_runner }} + runs-on: ${{ vars.github_runner }} steps: - name: Build and Push uses: ./.github/workflows/steps/docker-build.yaml diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml index 1b3f88f..24f60fc 100644 --- a/.github/workflows/steps/docker-build.yaml +++ b/.github/workflows/steps/docker-build.yaml @@ -3,7 +3,7 @@ name: Build ${{ container_name }} jobs: build: - runs-on: ${{ github_runner }} + runs-on: ${{ vars.github_runner }} steps: - name: Checkout Code uses: actions/checkout@v3 From 4b47015ac5cfd64b012f5b6de05ae34b6598b351 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:57:20 -0500 Subject: [PATCH 06/14] update vars.github_runner to vars.RUNNER --- .github/workflows/build-and-push.yaml | 5 ++--- .github/workflows/steps/docker-build.yaml | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 0a647c4..5b8c132 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -8,19 +8,18 @@ on: push: env: - github_runner: ubuntu-latest container_name: gh-cli docker_file: ubuntu20.Dockerfile docker_tags: ghcr.io/gunnarwustl/gh-cli:ubuntu20 jobs: diff_check: - runs-on: ${{ vars.github_runner }} + runs-on: ${{ vars.RUNNER }} steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml build: - runs-on: ${{ vars.github_runner }} + runs-on: ${{ vars.RUNNER }} steps: - name: Build and Push uses: ./.github/workflows/steps/docker-build.yaml diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml index 24f60fc..c168175 100644 --- a/.github/workflows/steps/docker-build.yaml +++ b/.github/workflows/steps/docker-build.yaml @@ -3,7 +3,7 @@ name: Build ${{ container_name }} jobs: build: - runs-on: ${{ vars.github_runner }} + runs-on: ${{ vars.RUNNER }} steps: - name: Checkout Code uses: actions/checkout@v3 From 7b1ca1d95d87b2015a6ab7aba3d25356200ba0e7 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:59:17 -0500 Subject: [PATCH 07/14] update vars.RUNNER to env.github_runner --- .github/workflows/steps/docker-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml index c168175..8629cfe 100644 --- a/.github/workflows/steps/docker-build.yaml +++ b/.github/workflows/steps/docker-build.yaml @@ -3,7 +3,7 @@ name: Build ${{ container_name }} jobs: build: - runs-on: ${{ vars.RUNNER }} + runs-on: ${{ env.github_runner }} steps: - name: Checkout Code uses: actions/checkout@v3 From 2a67ca72c42abd98a606f8644400534d663c2d20 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 20:59:53 -0500 Subject: [PATCH 08/14] update vars.RUNNER to env.github_runner --- .github/workflows/build-and-push.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 5b8c132..f634786 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -8,18 +8,19 @@ on: push: env: + github_runner: ubuntu-latest container_name: gh-cli docker_file: ubuntu20.Dockerfile docker_tags: ghcr.io/gunnarwustl/gh-cli:ubuntu20 jobs: diff_check: - runs-on: ${{ vars.RUNNER }} + runs-on: ${{ env.github_runner }} steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml build: - runs-on: ${{ vars.RUNNER }} + runs-on: ${{ env.github_runner }} steps: - name: Build and Push uses: ./.github/workflows/steps/docker-build.yaml From 4f1a75db5ca7fff9c6a1d2d792939164c5c59cd5 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 21:02:09 -0500 Subject: [PATCH 09/14] rename job --- .github/workflows/build-and-push.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index f634786..834d08c 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -19,7 +19,8 @@ jobs: steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml - build: + + build_push: runs-on: ${{ env.github_runner }} steps: - name: Build and Push From 84757ab5717eb37687d4d86fbcece42a3e2e3ac0 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 21:03:59 -0500 Subject: [PATCH 10/14] update env.github_runner to vars.RUNNER --- .github/workflows/build-and-push.yaml | 4 ++-- .github/workflows/steps/docker-build.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 834d08c..b58adc9 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -15,13 +15,13 @@ env: jobs: diff_check: - runs-on: ${{ env.github_runner }} + runs-on: ${{ vars.RUNNER }} steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml build_push: - runs-on: ${{ env.github_runner }} + runs-on: ${{ vars.RUNNER }} steps: - name: Build and Push uses: ./.github/workflows/steps/docker-build.yaml diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml index 8629cfe..c168175 100644 --- a/.github/workflows/steps/docker-build.yaml +++ b/.github/workflows/steps/docker-build.yaml @@ -3,7 +3,7 @@ name: Build ${{ container_name }} jobs: build: - runs-on: ${{ env.github_runner }} + runs-on: ${{ vars.RUNNER }} steps: - name: Checkout Code uses: actions/checkout@v3 From 9c65e48b038d0e705a5f00adc13567afc2a12c05 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 21:07:57 -0500 Subject: [PATCH 11/14] hardcode github runner --- .github/workflows/build-and-push.yaml | 4 ++-- .github/workflows/steps/docker-build.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index b58adc9..8f96c41 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -15,13 +15,13 @@ env: jobs: diff_check: - runs-on: ${{ vars.RUNNER }} + runs-on: ubuntu-latest steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml build_push: - runs-on: ${{ vars.RUNNER }} + runs-on: ubuntu-latest steps: - name: Build and Push uses: ./.github/workflows/steps/docker-build.yaml diff --git a/.github/workflows/steps/docker-build.yaml b/.github/workflows/steps/docker-build.yaml index c168175..b03e6f2 100644 --- a/.github/workflows/steps/docker-build.yaml +++ b/.github/workflows/steps/docker-build.yaml @@ -3,7 +3,7 @@ name: Build ${{ container_name }} jobs: build: - runs-on: ${{ vars.RUNNER }} + runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v3 From 68d908ef2b55da3f0bd308789251792fcd6717c0 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 21:10:04 -0500 Subject: [PATCH 12/14] hardcode github runner --- .github/workflows/steps/diff-check.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/steps/diff-check.yaml b/.github/workflows/steps/diff-check.yaml index f64d1e5..05cee18 100644 --- a/.github/workflows/steps/diff-check.yaml +++ b/.github/workflows/steps/diff-check.yaml @@ -3,7 +3,7 @@ name: Diff Check jobs: diff_check: - runs-on: ${{ github_runner }} + runs-on: ubuntu-latest outputs: ${{ container_name }}: ${{ steps.filter.outputs.${{ container_name }} }} steps: From 486d49b4ea86e4f6dacf4109caa0f56fc94a2c88 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 21:11:26 -0500 Subject: [PATCH 13/14] typo --- .github/workflows/steps/diff-check.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/steps/diff-check.yaml b/.github/workflows/steps/diff-check.yaml index 05cee18..a24ddf7 100644 --- a/.github/workflows/steps/diff-check.yaml +++ b/.github/workflows/steps/diff-check.yaml @@ -15,5 +15,5 @@ jobs: id: filter with: filters: | - ${{ container_name }}: - - ${{ docker_file }} + ${{ env.container_name }}: + - ${{ env.docker_file }} From 9e328adabccf0a4715f6b9aa060a08c9b21f1a83 Mon Sep 17 00:00:00 2001 From: Gunnar Smith Date: Thu, 19 Oct 2023 21:13:01 -0500 Subject: [PATCH 14/14] pass vars into diff_check step --- .github/workflows/build-and-push.yaml | 3 +++ .github/workflows/steps/diff-check.yaml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-push.yaml b/.github/workflows/build-and-push.yaml index 8f96c41..39e3926 100644 --- a/.github/workflows/build-and-push.yaml +++ b/.github/workflows/build-and-push.yaml @@ -19,6 +19,9 @@ jobs: steps: - name: Diff Check uses: ./.github/workflows/steps/diff-check.yaml + with: + container_name: ${{ env.container_name }} + docker_file: ${{ env.docker_file }} build_push: runs-on: ubuntu-latest diff --git a/.github/workflows/steps/diff-check.yaml b/.github/workflows/steps/diff-check.yaml index a24ddf7..05cee18 100644 --- a/.github/workflows/steps/diff-check.yaml +++ b/.github/workflows/steps/diff-check.yaml @@ -15,5 +15,5 @@ jobs: id: filter with: filters: | - ${{ env.container_name }}: - - ${{ env.docker_file }} + ${{ container_name }}: + - ${{ docker_file }}