aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yaml14
-rw-r--r--.github/workflows/deploy.yaml7
-rw-r--r--.github/workflows/lint.yaml7
-rw-r--r--.github/workflows/main.yaml3
-rw-r--r--.github/workflows/test.yaml7
5 files changed, 28 insertions, 10 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index bd9bb55..e0bbdbe 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -3,15 +3,21 @@ name: Build image
on:
workflow_call:
outputs:
+ artefact:
+ description: The name of the uploaded image aretfact.
+ value: ${{ jobs.build.outputs.artefact }}
tag:
- description: The tag used for the built image
+ description: The tag used for the built image.
value: ${{ jobs.build.outputs.tag }}
jobs:
build:
runs-on: ubuntu-latest
outputs:
+ artefact: ${{ env.artefact }}
tag: ${{ steps.sha_tag.outputs.tag }}
+ env:
+ artefact: image_artefact_snekbox-venv
steps:
# Create a short SHA with which to tag built images.
@@ -72,7 +78,7 @@ jobs:
push: false
target: venv
build-args: DEV=1
- outputs: type=docker,dest=image_artefact_snekbox-venv.tar
+ outputs: type=docker,dest=${{ env.artefact }}.tar
cache-from: |
${{ steps.cache_config.outputs.cache_from }}
ghcr.io/python-discord/snekbox-base:latest
@@ -85,7 +91,7 @@ jobs:
- name: Upload image archive as an artefact
uses: actions/upload-artifact@v2
with:
- name: image_artefact_snekbox-venv_${{ steps.sha_tag.outputs.tag }}
- path: image_artefact_snekbox-venv.tar
+ name: ${{ env.artefact }}
+ path: ${{ env.artefact }}.tar
retention-days: 1 # It's only needed for the duration of the workflow.
if-no-files-found: error
diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
index a04cf86..4183917 100644
--- a/.github/workflows/deploy.yaml
+++ b/.github/workflows/deploy.yaml
@@ -3,6 +3,9 @@ name: Deploy & push images
on:
workflow_call:
inputs:
+ artefact:
+ required: true
+ type: string
tag:
required: true
type: string
@@ -16,11 +19,11 @@ jobs:
- name: Download image artefact
uses: actions/download-artifact@v2
with:
- name: image_artefact_snekbox-venv_${{ inputs.tag }}
+ name: ${{ inputs.artefact }}
# Load the image to make use of common layers during the final build.
- name: Load image from archive
- run: docker load -i image_artefact_snekbox-venv.tar
+ run: docker load -i ${{ inputs.artefact }}.tar
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 585e8e4..111df54 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -3,6 +3,9 @@ name: Lint
on:
workflow_call:
inputs:
+ artefact:
+ required: true
+ type: string
tag:
required: true
type: string
@@ -16,10 +19,10 @@ jobs:
- name: Download image artefact
uses: actions/download-artifact@v2
with:
- name: image_artefact_snekbox-venv_${{ inputs.tag }}
+ name: ${{ inputs.artefact }}
- name: Load image from archive
- run: docker load -i image_artefact_snekbox-venv.tar
+ run: docker load -i ${{ inputs.artefact }}.tar
# Needed for the Docker Compose file.
- name: Checkout code
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index ef59f78..cc8a1e0 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -13,15 +13,18 @@ jobs:
uses: ./.github/workflows/lint.yaml
needs: build
with:
+ artefact: ${{ needs.build.outputs.artefact }}
tag: ${{ needs.build.outputs.tag }}
test:
uses: ./.github/workflows/test.yaml
needs: build
with:
+ artefact: ${{ needs.build.outputs.artefact }}
tag: ${{ needs.build.outputs.tag }}
deploy:
uses: ./.github/workflows/deploy.yaml
if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }}
needs: [build, lint, test]
with:
+ artefact: ${{ needs.build.outputs.artefact }}
tag: ${{ needs.build.outputs.tag }}
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 05145d5..8a4078a 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -3,6 +3,9 @@ name: Test
on:
workflow_call:
inputs:
+ artefact:
+ required: true
+ type: string
tag:
required: true
type: string
@@ -19,10 +22,10 @@ jobs:
- name: Download image artefact
uses: actions/download-artifact@v2
with:
- name: image_artefact_snekbox-venv_${{ inputs.tag }}
+ name: ${{ inputs.artefact }}
- name: Load image from archive
- run: docker load -i image_artefact_snekbox-venv.tar
+ run: docker load -i ${{ inputs.artefact }}.tar
# Needed for the Docker Compose file.
- name: Checkout code