@@ -53,13 +53,19 @@ jobs:
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Available platforms
|
||||
run: echo ${{ steps.buildx.outputs.platforms }}
|
||||
- name: Set dockerfile path
|
||||
id: dockerfile
|
||||
run: |
|
||||
NAME="${{ matrix.container }}"
|
||||
DOCKERFILE=$([[ -f "docker/$NAME/Dockerfile" ]] && echo "docker/$NAME/Dockerfile" || echo "docker/Dockerfile.$NAME")
|
||||
echo "DOCKERFILE=$DOCKERFILE" >> $GITHUB_OUTPUT
|
||||
- name: Build container image
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: false
|
||||
context: docker/
|
||||
platforms: linux/amd64,linux/arm64
|
||||
file: docker/Dockerfile.${{ matrix.container }}
|
||||
file: ${{ steps.dockerfile.outputs.DOCKERFILE }}
|
||||
tags: |
|
||||
ghcr.io/juliushaertl/nextcloud-dev-${{ matrix.container }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
|
||||
@@ -1,25 +1,40 @@
|
||||
SHELL := /bin/bash
|
||||
|
||||
.PHONY: images
|
||||
.ONESHELL:
|
||||
images:
|
||||
for file in $$(find docker/ -maxdepth 1 -type f -iname 'Dockerfile.*'); do \
|
||||
NAME=$$(echo $$file | sed 's/^.*\.//'); echo "=> Building image $$NAME"; \
|
||||
(cd docker && docker build -t ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest -f Dockerfile.$$NAME .)
|
||||
done
|
||||
.PHONY: images docker-build pull
|
||||
|
||||
.ONESHELL:
|
||||
images: docker/*/Dockerfile docker/Dockerfile.*
|
||||
|
||||
.PHONY: pull
|
||||
.ONESHELL:
|
||||
pull:
|
||||
for file in $$(find docker/ -maxdepth 1 -type f -iname 'Dockerfile.*'); do \
|
||||
NAME=$$(echo $$file | sed 's/^.*\.//'); echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliushaertl/nextcloud-dev-$${NAME}"; \
|
||||
NAME=$$(echo $$file | sed 's/^.*\.//'); \
|
||||
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliushaertl/nextcloud-dev-$${NAME}"; \
|
||||
done
|
||||
for file in $$(find docker -maxdepth 2 -type f -iname 'Dockerfile'); do \
|
||||
NAME=$$(basename $$(dirname $$file)); \
|
||||
echo "=> Pulling image $$NAME"; docker pull "ghcr.io/juliushaertl/nextcloud-dev-$${NAME}"; \
|
||||
done
|
||||
|
||||
# Empty target to always build
|
||||
docker-build:
|
||||
|
||||
docker/%/Dockerfile: docker-build
|
||||
NAME=$$(basename $$(dirname $@)); \
|
||||
echo "=> Building dockerfile" $@ as ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest; \
|
||||
(cd docker && docker build -t ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest -f $$NAME/Dockerfile .)
|
||||
|
||||
docker/Dockerfile.%: docker-build
|
||||
NAME=$$(echo $$(basename $@) | sed 's/^.*\.//'); \
|
||||
echo "=> Building dockerfile" $@ as ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest; \
|
||||
(cd docker && docker build -t ghcr.io/juliushaertl/nextcloud-dev-$$NAME:latest -f Dockerfile.$$NAME .)
|
||||
|
||||
check: dockerfilelint shellcheck
|
||||
|
||||
.ONESHELL:
|
||||
dockerfilelint:
|
||||
for file in $$(find docker/ -type f -iname 'Dockerfile.*' -maxdepth 1); do dockerfilelint $$file; done;
|
||||
for file in $$(find docker -type f -iname 'Dockerfile' -maxdepth 2); do dockerfilelint $$file; done;
|
||||
|
||||
.ONESHELL:
|
||||
shellcheck:
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
FROM alpine
|
||||
|
||||
RUN wget https://github.com/nextcloud/notify_push/releases/download/v0.5.0/notify_push-`uname -m`-unknown-linux-musl -O /notify_push && chmod +x /notify_push && /notify_push --version
|
||||
|
||||
EXPOSE 7867
|
||||
|
||||
CMD ["/notify_push"]
|
||||
Reference in New Issue
Block a user