aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Helmert III <ajak@gentoo.org>2023-10-14 10:19:46 -0700
committerJohn Helmert III <ajak@gentoo.org>2023-10-14 10:19:46 -0700
commitd7e9b1ab0b92cc81c0cc6c589e713c78e8b8df2b (patch)
tree9f9f7abe2dbb5c482075ede65552f99b618041d2
parentadd plumbing to produce a python testing image (diff)
downloaddocker-images-d7e9b1ab0b92cc81c0cc6c589e713c78e8b8df2b.tar.gz
docker-images-d7e9b1ab0b92cc81c0cc6c589e713c78e8b8df2b.tar.bz2
docker-images-d7e9b1ab0b92cc81c0cc6c589e713c78e8b8df2b.zip
split iamge build steps into dedicated actions file
Signed-off-by: John Helmert III <ajak@gentoo.org>
-rw-r--r--.github/actions/container_build/action.yml46
-rw-r--r--.github/workflows/build.yml32
2 files changed, 51 insertions, 27 deletions
diff --git a/.github/actions/container_build/action.yml b/.github/actions/container_build/action.yml
new file mode 100644
index 0000000..bef1441
--- /dev/null
+++ b/.github/actions/container_build/action.yml
@@ -0,0 +1,46 @@
+---
+name: Build
+inputs:
+ target:
+ required: true
+ dockerhub_username:
+ required: true
+ dockerhub_password:
+ required: true
+runs:
+ using: composite
+ steps:
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ - name: Set up buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Set up TARGET
+ run: echo "TARGET=${{ inputs.target }}" | tee $GITHUB_ENV
+ shell: bash
+ - name: Build image
+ if: startswith(inputs.target, 'stage3') || startswith(inputs.target, 'portage')
+ shell: bash
+ run: ./build.sh
+ - name: Build python image
+ if: startswith(inputs.target, 'python')
+ shell: bash
+ run: ./build-python.sh
+ - name: Inspect image
+ shell: bash
+ run: docker image inspect "${ORG}/${TARGET/-/:}"
+ - name: Inspect portage
+ if: matrix.target != 'portage'
+ shell: bash
+ run: docker run --rm "${ORG}/${TARGET/-/:}" emerge --info
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ if: github.event_name == 'schedule'
+ with:
+ username: ${{ inputs.dockerhub_username }}
+ password: ${{ inputs.dockerhub_password }}
+ - name: Push image
+ if: github.event_name == 'schedule'
+ shell: bash
+ env:
+ DOCKER_CLI_EXPERIMENTAL: enabled
+ run: ./deploy.sh
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ef4e56f..cb95b19 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -58,34 +58,12 @@ jobs:
- stage3-s390x-systemd
name: ${{ matrix.target }}
runs-on: ubuntu-latest
- env:
- TARGET: ${{ matrix.target }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v2
- - name: Set up buildx
- uses: docker/setup-buildx-action@v2
- - name: Build image
- if: startswith(matrix.target, 'stage3') || startswith(matrix.target, 'portage')
- run: ./build.sh
- - name: Build python image
- if: startswith( matrix.target, 'python')
- run: ./build-python.sh
- - name: Inspect image
- run: docker image inspect "${ORG}/${TARGET/-/:}"
- - name: Inspect portage
- if: matrix.target != 'portage'
- run: docker run --rm "${ORG}/${TARGET/-/:}" emerge --info
- - name: Login to DockerHub
- uses: docker/login-action@v2
- if: github.event_name == 'schedule'
+ - name: Build ${{ matrix.target }}
+ uses: ./.github/actions/container_build
with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_PASSWORD }}
- - name: Push image
- if: github.event_name == 'schedule'
- env:
- DOCKER_CLI_EXPERIMENTAL: enabled
- run: ./deploy.sh
+ target: ${{ matrix.target }}
+ dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
+ dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }}