when: - event: push path: - 'nextcloud/**' - '.woodpecker/nextcloud.yaml' - event: cron cron: daily # Manually set a workspace path, so we can use it literally, without using # ${CI_WORKSPACE}, when running kaniko, since using ${CI_WORKSPACE} doesn't work. # https://github.com/woodpecker-ci/woodpecker/issues/3982 workspace: path: src # Use matrix to set NEXTCLOUD_VERSION instead of setting the NEXTCLOUD_VERSION as # an environment variable in the build-images step, since string substitution # doesn't work for custom environment variables. # https://github.com/woodpecker-ci/woodpecker/issues/3983 # Also because global environment variables aren't a thing. matrix: NEXTCLOUD_VERSION: - 29 - 30 IMAGE_NAME: - git.hamburg.ccc.de/ccchh/oci-images/nextcloud steps: - name: setup-image-path image: docker.io/library/alpine commands: - mkdir /woodpecker/images - name: build-image image: gcr.io/kaniko-project/executor entrypoint: - /kaniko/executor - --context=dir:///woodpecker/src/nextcloud - --dockerfile=./Containerfile - --build-arg=TAG=${NEXTCLOUD_VERSION} - --destination=${IMAGE_NAME}:${NEXTCLOUD_VERSION} - --no-push - --tar-path=/woodpecker/images/nextcloud.tar - name: publish-image image: docker.io/library/alpine secrets: - GIT_API_TOKEN commands: - apk -u add crane - crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN - crane push /woodpecker/images/nextcloud.tar $IMAGE_NAME:$NEXTCLOUD_VERSION-$CI_COMMIT_BRANCH - name: tag-version image: docker.io/library/alpine when: - branch: main secrets: - GIT_API_TOKEN commands: - apk -u add crane - crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN - crane tag $IMAGE_NAME:$NEXTCLOUD_VERSION-$CI_COMMIT_BRANCH $NEXTCLOUD_VERSION - name: tag-latest image: docker.io/library/alpine when: - branch: main evaluate: 'NEXTCLOUD_VERSION == "28"' secrets: - GIT_API_TOKEN commands: - apk -u add crane - crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN - crane tag $IMAGE_NAME:$NEXTCLOUD_VERSION-$CI_COMMIT_BRANCH latest