mirror of
https://github.com/Suwayomi/docker-tachidesk.git
synced 2026-01-06 03:42:36 +01:00
Merge pull request #18 from Suwayomi/java11
Testing creation of both Java 8 and Java 11 images
This commit is contained in:
163
.github/workflows/build_container_images.yml
vendored
163
.github/workflows/build_container_images.yml
vendored
@@ -19,10 +19,13 @@ env:
|
||||
build_repo_docker: 'tachidesk'
|
||||
build_base_image_alpine: 'alpine:3.15'
|
||||
build_base_image_alpine_platform: 'linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x'
|
||||
build_base_image_alpine_platform_java11: 'linux/amd64,linux/arm64/v8,linux/ppc64le,linux/s390x'
|
||||
build_base_image_alpine_platform_testing: 'linux/amd64'
|
||||
startup_script_url: 'https://raw.githubusercontent.com/${{ github.repository }}/main/scripts/startup_script.sh'
|
||||
tachidesk_webui_stable_url: 'https://api.github.com/repos/suwayomi/Tachidesk-Server/releases/latest'
|
||||
tachidesk_webui_preview_url: 'https://api.github.com/repos/suwayomi/Tachidesk-Server-preview/releases/latest'
|
||||
java_8_version: openjdk8-jre-base
|
||||
java_11_version: openjdk11-jre-headless
|
||||
|
||||
jobs:
|
||||
check_workflow:
|
||||
@@ -196,6 +199,7 @@ jobs:
|
||||
TACHIDESK_FILENAME=${{ steps.get_latest_release_metadata.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.tachidesk_docker_git_commit }}
|
||||
JAVA_VERSION=${{ env.java_8_version }}
|
||||
tags: |
|
||||
test-image:stable
|
||||
outputs: type=docker,dest=/tmp/test_image_stable.tar
|
||||
@@ -227,6 +231,56 @@ jobs:
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Build and save stable alpine java11
|
||||
id: docker_build_release_alpine_java11
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
file: scripts/dockerfiles/Git_Actions-Dockerfile
|
||||
platforms: ${{ env.build_base_image_alpine_platform_testing }}
|
||||
build-args: |
|
||||
BASE_IMAGE=${{ env.build_base_image_alpine }}
|
||||
BUILD_DATE=${{ steps.get_latest_release_metadata.outputs.build_date }}
|
||||
IMAGE_VERSION=${{ steps.get_latest_release_metadata.outputs.release_version }}
|
||||
IMAGE_TYPE=stable-alpine
|
||||
TACHIDESK_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.release_commit }}
|
||||
TACHIDESK_RELEASE_TAG=${{ steps.get_latest_release_metadata.outputs.release_tag }}
|
||||
TACHIDESK_RELEASE_DOWNLOAD_URL=${{ steps.get_latest_release_metadata.outputs.release_url }}
|
||||
TACHIDESK_FILENAME=${{ steps.get_latest_release_metadata.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.tachidesk_docker_git_commit }}
|
||||
JAVA_VERSION=${{ env.java_11_version }}
|
||||
tags: |
|
||||
test-image:stable-java11
|
||||
outputs: type=docker,dest=/tmp/test_image_stable_java11.tar
|
||||
|
||||
- name: Docker Run Test Stable Image Java11
|
||||
id: docker_run_test_image_stable_java11
|
||||
run: |
|
||||
docker load --input /tmp/test_image_stable_java11.tar
|
||||
mkdir -p /home/runner/work/_temp/tachidesk_java11
|
||||
chmod -R 777 /home/runner/work/_temp/tachidesk_java11
|
||||
docker run --rm -d -p 127.0.0.1:4568:4567 -v /home/runner/work/_temp/tachidesk_java11:/home/suwayomi/.local/share/Tachidesk --name=test_image_stable_java11 test-image:stable-java11
|
||||
sleep 15
|
||||
cat /home/runner/work/_temp/tachidesk_java11/logfile.log
|
||||
curl -s 127.0.0.1:4568/api/v1/settings/about/ && val=$(curl -s 127.0.0.1:4568/api/v1/settings/about/ | grep -o "Tachidesk" | sort --unique)
|
||||
if [[ $val == "Tachidesk" ]]; then
|
||||
echo ""
|
||||
echo "Tachidesk stable java11 run successfully"
|
||||
echo "::set-output name=value::true"
|
||||
docker stop test_image_stable_java11
|
||||
else
|
||||
echo ""
|
||||
echo "Tachidesk stable run Failed"
|
||||
echo "::set-output name=value::false"
|
||||
if [[ ${{ needs.check_workflow.outputs.enable_discord_hook }} == 'true' ]]; then
|
||||
curl \
|
||||
-F 'payload_json={"username": "Github", "content": "<@255018340244914177>\n<@785012853178499073>\nDocker Stable Java11 Image Dry Run Failed Version - ${{ steps.get_latest_release_metadata.outputs.release_tag }}"}' \
|
||||
-F "file1=@/home/runner/work/_temp/tachidesk/logfile.log" \
|
||||
"https://discord.com/api/webhooks/${{ secrets.DISCORD_TACHIDESK_WEBHOOK_ID }}/${{ secrets.DISCORD_TACHIDESK_TOKEN }}"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Delete docker files
|
||||
run: |
|
||||
@@ -280,12 +334,39 @@ jobs:
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ needs.check_stable.outputs.tachidesk_docker_git_commit }}
|
||||
IMAGE_OWNER=${{ needs.check_stable.outputs.repository_owner_lower }}
|
||||
JAVA_VERSION=${{ env.java_8_version }}
|
||||
tags: |
|
||||
ghcr.io/${{ needs.check_stable.outputs.repository_owner_lower }}/${{ env.build_repo_docker }}:latest
|
||||
ghcr.io/${{ needs.check_stable.outputs.repository_owner_lower }}/${{ env.build_repo_docker }}:${{ needs.check_stable.outputs.release_tag }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
|
||||
- name: Build and push stable alpine java11
|
||||
id: docker_build_release_alpine_java11
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
file: scripts/dockerfiles/Git_Actions-Dockerfile
|
||||
platforms: ${{ env.build_base_image_alpine_platform_java11 }}
|
||||
push: ${{ needs.check_stable.outputs.enable_build_publish == 'true' }}
|
||||
build-args: |
|
||||
BASE_IMAGE=${{ env.build_base_image_alpine }}
|
||||
BUILD_DATE=${{ needs.check_stable.outputs.build_date }}
|
||||
IMAGE_VERSION=${{ needs.check_stable.outputs.release_version }}
|
||||
IMAGE_TYPE=stable-alpine
|
||||
TACHIDESK_GIT_COMMIT=${{ needs.check_stable.outputs.release_commit }}
|
||||
TACHIDESK_RELEASE_TAG=${{ needs.check_stable.outputs.release_tag }}
|
||||
TACHIDESK_RELEASE_DOWNLOAD_URL=${{ needs.check_stable.outputs.release_url }}
|
||||
TACHIDESK_FILENAME=${{ needs.check_stable.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ needs.check_stable.outputs.tachidesk_docker_git_commit }}
|
||||
IMAGE_OWNER=${{ needs.check_stable.outputs.repository_owner_lower }}
|
||||
JAVA_VERSION=${{ env.java_11_version }}
|
||||
tags: |
|
||||
ghcr.io/${{ needs.check_stable.outputs.repository_owner_lower }}/${{ env.build_repo_docker }}:latest-java11
|
||||
ghcr.io/${{ needs.check_stable.outputs.repository_owner_lower }}/${{ env.build_repo_docker }}:${{ needs.check_stable.outputs.release_tag }}-java11
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
|
||||
- name: save stable release
|
||||
run: |
|
||||
cd main
|
||||
@@ -382,6 +463,7 @@ jobs:
|
||||
TACHIDESK_FILENAME=${{ steps.get_latest_release_metadata.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.tachidesk_docker_git_commit }}
|
||||
JAVA_VERSION=${{ env.java_8_version }}
|
||||
tags: |
|
||||
test-image:preview
|
||||
outputs: type=docker,dest=/tmp/test_image_preview.tar
|
||||
@@ -415,6 +497,59 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
docker system prune -a -f --volumes
|
||||
|
||||
- name: Build and save preview alpine java11
|
||||
id: docker_build_release_alpine_java11
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
file: scripts/dockerfiles/Git_Actions-Dockerfile
|
||||
platforms: ${{ env.build_base_image_alpine_platform_testing }}
|
||||
build-args: |
|
||||
BASE_IMAGE=${{ env.build_base_image_alpine }}
|
||||
BUILD_DATE=${{ steps.get_latest_release_metadata.outputs.build_date }}
|
||||
IMAGE_VERSION=${{ steps.get_latest_release_metadata.outputs.release_version }}
|
||||
IMAGE_TYPE=preview-alpine
|
||||
TACHIDESK_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.release_commit }}
|
||||
TACHIDESK_RELEASE_TAG=${{ steps.get_latest_release_metadata.outputs.release_tag }}
|
||||
TACHIDESK_RELEASE_DOWNLOAD_URL=${{ steps.get_latest_release_metadata.outputs.release_url }}
|
||||
TACHIDESK_FILENAME=${{ steps.get_latest_release_metadata.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.tachidesk_docker_git_commit }}
|
||||
JAVA_VERSION=${{ env.java_11_version }}
|
||||
tags: |
|
||||
test-image:preview-java11
|
||||
outputs: type=docker,dest=/tmp/test_image_preview_java11.tar
|
||||
|
||||
|
||||
- name: Docker Run Test Preview Image Java11
|
||||
id: docker_run_test_image_preview_java11
|
||||
run: |
|
||||
docker load --input /tmp/test_image_preview_java11.tar
|
||||
mkdir -p /home/runner/work/_temp/tachidesk_java11
|
||||
chmod -R 777 /home/runner/work/_temp/tachidesk_java11
|
||||
docker run --rm -d -p 127.0.0.1:4569:4567 -v /home/runner/work/_temp/tachidesk_java11:/home/suwayomi/.local/share/Tachidesk --name=test_image_preview_java11 test-image:preview-java11
|
||||
sleep 15
|
||||
cat /home/runner/work/_temp/tachidesk/logfile.log
|
||||
curl -s 127.0.0.1:4569/api/v1/settings/about/ && val=$(curl -s 127.0.0.1:4569/api/v1/settings/about/ | grep -o "Tachidesk" | sort --unique)
|
||||
if [[ $val == "Tachidesk" ]]; then
|
||||
echo ""
|
||||
echo "Tachidesk preview java11 run successfully"
|
||||
echo "::set-output name=value::true"
|
||||
docker stop test_image_preview_java11
|
||||
run_check="true"
|
||||
else
|
||||
echo ""
|
||||
echo "Tachidesk preview java11 run Failed"
|
||||
echo "::set-output name=value::false"
|
||||
if [[ ${{ needs.check_workflow.outputs.enable_discord_hook }} == 'true' ]]; then
|
||||
curl \
|
||||
-F 'payload_json={"username": "Github", "content": "<@255018340244914177>\n<@785012853178499073>\nDocker Preview Java11 Image Dry Run Failed Version - ${{ steps.get_latest_release_metadata.outputs.release_tag }}"}' \
|
||||
-F "file1=@/home/runner/work/_temp/tachidesk/logfile.log" \
|
||||
"https://discord.com/api/webhooks/${{ secrets.DISCORD_TACHIDESK_WEBHOOK_ID }}/${{ secrets.DISCORD_TACHIDESK_TOKEN }}"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
docker system prune -a -f --volumes
|
||||
|
||||
- name: Delete docker files
|
||||
run: |
|
||||
@@ -466,12 +601,38 @@ jobs:
|
||||
TACHIDESK_FILENAME=${{ needs.check_preview.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ needs.check_preview.outputs.tachidesk_docker_git_commit }}
|
||||
IMAGE_OWNER=${{ needs.check_preview.outputs.repository_owner_lower }}
|
||||
IMAGE_OWNER=${{ needs.check_preview.outputs.repository_owner_lower }}
|
||||
JAVA_VERSION=${{ env.java_8_version }}
|
||||
tags: |
|
||||
ghcr.io/${{ needs.check_preview.outputs.repository_owner_lower }}/${{ env.build_repo_docker }}:preview
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
|
||||
- name: Build and push preview alpine java11
|
||||
id: docker_build_release_alpine_java11
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
file: scripts/dockerfiles/Git_Actions-Dockerfile
|
||||
platforms: ${{ env.build_base_image_alpine_platform_java11 }}
|
||||
push: ${{ needs.check_preview.outputs.enable_build_publish == 'true' }}
|
||||
build-args: |
|
||||
BASE_IMAGE=${{ env.build_base_image_alpine }}
|
||||
BUILD_DATE=${{ needs.check_preview.outputs.build_date }}
|
||||
IMAGE_VERSION=${{ needs.check_preview.outputs.release_version }}
|
||||
IMAGE_TYPE=preview-alpine
|
||||
TACHIDESK_GIT_COMMIT=${{ needs.check_preview.outputs.release_commit }}
|
||||
TACHIDESK_RELEASE_TAG=${{ needs.check_preview.outputs.release_tag }}
|
||||
TACHIDESK_RELEASE_DOWNLOAD_URL=${{ needs.check_preview.outputs.release_url }}
|
||||
TACHIDESK_FILENAME=${{ needs.check_preview.outputs.release_filename }}
|
||||
STARTUP_SCRIPT_URL=${{ env.startup_script_url }}
|
||||
TACHIDESK_DOCKER_GIT_COMMIT=${{ needs.check_preview.outputs.tachidesk_docker_git_commit }}
|
||||
IMAGE_OWNER=${{ needs.check_preview.outputs.repository_owner_lower }}
|
||||
JAVA_VERSION=${{ env.java_11_version }}
|
||||
tags: |
|
||||
ghcr.io/${{ needs.check_preview.outputs.repository_owner_lower }}/${{ env.build_repo_docker }}:preview-java11
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
|
||||
- name: save preview release
|
||||
run: |
|
||||
cd main
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk --update add curl openjdk8-jre-base tzdata
|
||||
ARG JAVA_VERSION
|
||||
|
||||
RUN apk --update add "$JAVA_VERSION" tzdata
|
||||
|
||||
RUN addgroup -g 1000 -S suwayomi && adduser -u 1000 -S suwayomi -G suwayomi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user