From 96e6fd8b9bd1a87c4a071eb828a7d2bfa2ca220b Mon Sep 17 00:00:00 2001 From: iPromKnight Date: Sat, 9 Mar 2024 15:45:52 +0000 Subject: [PATCH] Skip workflow to base, and then one for each docker image Also limits each to firing based on the path of changes in the push. --- ...d_images.yaml => base_image_workflow.yaml} | 27 ++++++++----------- .github/workflows/build_addon.yaml | 14 ++++++++++ .github/workflows/build_consumer.yaml | 14 ++++++++++ .github/workflows/build_jackett-addon.yaml | 14 ++++++++++ .github/workflows/build_metadata.yaml | 14 ++++++++++ .github/workflows/build_producer.yaml | 14 ++++++++++ 6 files changed, 81 insertions(+), 16 deletions(-) rename .github/workflows/{build_images.yaml => base_image_workflow.yaml} (85%) create mode 100644 .github/workflows/build_addon.yaml create mode 100644 .github/workflows/build_consumer.yaml create mode 100644 .github/workflows/build_jackett-addon.yaml create mode 100644 .github/workflows/build_metadata.yaml create mode 100644 .github/workflows/build_producer.yaml diff --git a/.github/workflows/build_images.yaml b/.github/workflows/base_image_workflow.yaml similarity index 85% rename from .github/workflows/build_images.yaml rename to .github/workflows/base_image_workflow.yaml index 947a7ea..5dc3228 100644 --- a/.github/workflows/build_images.yaml +++ b/.github/workflows/base_image_workflow.yaml @@ -1,7 +1,14 @@ -name: Build and Push Docker Images +name: Build and Push Docker Images Base Workflow on: - push: + workflow_call: + inputs: + CONTEXT: + required: true + type: string + IMAGE_NAME: + required: true + type: string jobs: build-and-push-images: @@ -17,20 +24,8 @@ jobs: strategy: matrix: include: - - context: ./src/node/addon/ - image_name: knightcrawler-addon - platforms: linux/amd64,linux/arm64 - - context: ./src/node/addon-jackett/ - image_name: knightcrawler-addon-jackett - platforms: linux/amd64,linux/arm64 - - context: ./src/node/consumer/ - image_name: knightcrawler-consumer - platforms: linux/amd64,linux/arm64 - - context: ./src/producer/ - image_name: knightcrawler-producer - platforms: linux/amd64,linux/arm64 - - context: ./src/metadata/ - image_name: knightcrawler-metadata + - context: ${{ github.event.inputs.CONTEXT }} + image_name: ${{ github.event.inputs.IMAGE_NAME }} platforms: linux/amd64,linux/arm64 name: Build - ${{ matrix.image_name }} diff --git a/.github/workflows/build_addon.yaml b/.github/workflows/build_addon.yaml new file mode 100644 index 0000000..4c03464 --- /dev/null +++ b/.github/workflows/build_addon.yaml @@ -0,0 +1,14 @@ +name: Build and Push Addon Image + +on: + push: + paths: + - 'src/node/addon/**' + +jobs: + process: + uses: ./.github/workflows/base_image_workflow.yaml + secrets: inherit + with: + CONTEXT: ./src/node/addon/ + IMAGE_NAME: knightcrawler-addon diff --git a/.github/workflows/build_consumer.yaml b/.github/workflows/build_consumer.yaml new file mode 100644 index 0000000..f1b6440 --- /dev/null +++ b/.github/workflows/build_consumer.yaml @@ -0,0 +1,14 @@ +name: Build and Push Addon Image + +on: + push: + paths: + - 'src/node/consumer/**' + +jobs: + process: + uses: ./.github/workflows/base_image_workflow.yaml + secrets: inherit + with: + CONTEXT: ./src/node/consumer/ + IMAGE_NAME: knightcrawler-consumer diff --git a/.github/workflows/build_jackett-addon.yaml b/.github/workflows/build_jackett-addon.yaml new file mode 100644 index 0000000..4f36d62 --- /dev/null +++ b/.github/workflows/build_jackett-addon.yaml @@ -0,0 +1,14 @@ +name: Build and Push Addon Image + +on: + push: + paths: + - 'src/node/addon-jackett/**' + +jobs: + process: + uses: ./.github/workflows/base_image_workflow.yaml + secrets: inherit + with: + CONTEXT: ./src/node/addon-jackett/ + IMAGE_NAME: knightcrawler-addon-jackett diff --git a/.github/workflows/build_metadata.yaml b/.github/workflows/build_metadata.yaml new file mode 100644 index 0000000..935481d --- /dev/null +++ b/.github/workflows/build_metadata.yaml @@ -0,0 +1,14 @@ +name: Build and Push Addon Image + +on: + push: + paths: + - 'src/metadata/**' + +jobs: + process: + uses: ./.github/workflows/base_image_workflow.yaml + secrets: inherit + with: + CONTEXT: ./src/metadata/ + IMAGE_NAME: knightcrawler-metadata diff --git a/.github/workflows/build_producer.yaml b/.github/workflows/build_producer.yaml new file mode 100644 index 0000000..cf995ca --- /dev/null +++ b/.github/workflows/build_producer.yaml @@ -0,0 +1,14 @@ +name: Build and Push Addon Image + +on: + push: + paths: + - 'src/producer/**' + +jobs: + process: + uses: ./.github/workflows/base_image_workflow.yaml + secrets: inherit + with: + CONTEXT: ./src/producer/ + IMAGE_NAME: knightcrawler-producer