mirror of
https://github.com/Suwayomi/docker-tachidesk.git
synced 2025-12-10 06:42:12 +01:00
reenable the container testing step
thank you Docker docs: https://docs.docker.com/build/ci/github-actions/test-before-push/
This commit is contained in:
87
.github/workflows/build_container_images.yml
vendored
87
.github/workflows/build_container_images.yml
vendored
@@ -17,6 +17,7 @@ on:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
server_repo: ${{ inputs.tachidesk_release_type == 'stable' && 'Tachidesk-Server' || 'Tachidesk-Server-prevew' }}
|
server_repo: ${{ inputs.tachidesk_release_type == 'stable' && 'Tachidesk-Server' || 'Tachidesk-Server-prevew' }}
|
||||||
|
test_image_tag: ghcr.io/suwayomi/tachidesk:testing
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_stable:
|
build_stable:
|
||||||
@@ -34,7 +35,6 @@ jobs:
|
|||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v2
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v2
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
@@ -44,7 +44,7 @@ jobs:
|
|||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
password: ${{ secrets.GITHUB_TOKEN }}
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: get latest release metadata
|
- name: Get latest release metadata
|
||||||
id: get_latest_release_metadata
|
id: get_latest_release_metadata
|
||||||
run: |
|
run: |
|
||||||
cd main
|
cd main
|
||||||
@@ -66,11 +66,53 @@ jobs:
|
|||||||
echo "tachidesk_docker_git_commit=$tachidesk_docker_git_commit" >> $GITHUB_OUTPUT
|
echo "tachidesk_docker_git_commit=$tachidesk_docker_git_commit" >> $GITHUB_OUTPUT
|
||||||
echo "build_date=$build_date" >> $GITHUB_OUTPUT
|
echo "build_date=$build_date" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Build container image
|
# this only builds the amd64 version of the image, which is fine as that's
|
||||||
id: docker_build_release_ubuntu
|
# all that is needed to test the container on Github Actions' build servers (which are running amd64 CPUs)
|
||||||
|
- name: Build container image to test
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
load: true # this is important, as this tells build-push-action to save the container to the local docker daemon
|
||||||
|
build-args: |
|
||||||
|
BUILD_DATE=${{ steps.get_latest_release_metadata.outputs.build_date }}
|
||||||
|
IMAGE_VERSION=${{ steps.get_latest_release_metadata.outputs.release_version }}
|
||||||
|
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 }}
|
||||||
|
TACHIDESK_DOCKER_GIT_COMMIT=${{ steps.get_latest_release_metadata.outputs.tachidesk_docker_git_commit }}
|
||||||
|
tags: ${{ env.test_image_tag }}
|
||||||
|
|
||||||
|
# Launch the container and then hit the about API to verifiy that it can start up correctly.
|
||||||
|
- name: Test new container image
|
||||||
|
run: |
|
||||||
|
mkdir -p /home/runner/work/_temp/tachidesk
|
||||||
|
chmod -R 777 /home/runner/work/_temp/tachidesk
|
||||||
|
docker run --rm -d -p 127.0.0.1:4568:4567 -v /home/runner/work/_temp/tachidesk:/home/suwayomi/.local/share/Tachidesk --name=test_image_stable ${{ env.test_image_tag }}
|
||||||
|
sleep 15
|
||||||
|
cat /home/runner/work/_temp/tachidesk/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 ubuntu run successfully"
|
||||||
|
echo "value=true" >> $GITHUB_OUTPUT
|
||||||
|
docker stop test_image_stable
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "Tachidesk stable ubuntu run Failed"
|
||||||
|
echo "value=false" >> $GITHUB_OUTPUT
|
||||||
|
curl \
|
||||||
|
-F 'payload_json={"username": "Github", "content": "<@255018340244914177>\n<@106949211932606464>\nDocker ${{ inputs.tachidesk_release_type }} 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
|
||||||
|
|
||||||
|
# Now we build for all of the platforms we support here. NB: the amd64
|
||||||
|
# won't be rebuilt since the local docker daemon has that still cached
|
||||||
|
- name: Push container image to registry
|
||||||
uses: docker/build-push-action@v3
|
uses: docker/build-push-action@v3
|
||||||
with:
|
with:
|
||||||
file: scripts/dockerfiles/Git_Actions-Dockerfile
|
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
|
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
|
||||||
push: true
|
push: true
|
||||||
build-args: |
|
build-args: |
|
||||||
@@ -85,44 +127,13 @@ jobs:
|
|||||||
ghcr.io/suwayomi/tachidesk:latest
|
ghcr.io/suwayomi/tachidesk:latest
|
||||||
ghcr.io/suwayomi/tachidesk:${{ inputs.tachidesk_release_type }}
|
ghcr.io/suwayomi/tachidesk:${{ inputs.tachidesk_release_type }}
|
||||||
ghcr.io/suwayomi/tachidesk:${{ inputs.tachidesk_release_type == 'stable' && steps.get_latest_release_metadata.outputs.release_tag || steps.get_latest_release_metadata.outputs.release_var }}
|
ghcr.io/suwayomi/tachidesk:${{ inputs.tachidesk_release_type == 'stable' && steps.get_latest_release_metadata.outputs.release_tag || steps.get_latest_release_metadata.outputs.release_var }}
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
|
||||||
|
|
||||||
# - name: Docker Run Test Stable Ubuntu Image
|
- name: Send a Discord message through the webhook (preview build)
|
||||||
# id: docker_run_test_image_stable
|
|
||||||
# run: |
|
|
||||||
# docker load --input /tmp/test_image_stable.tar
|
|
||||||
# mkdir -p /home/runner/work/_temp/tachidesk
|
|
||||||
# chmod -R 777 /home/runner/work/_temp/tachidesk
|
|
||||||
# docker run --rm -d -p 127.0.0.1:4568:4567 -v /home/runner/work/_temp/tachidesk:/home/suwayomi/.local/share/Tachidesk --name=test_image_stable test-image:stable
|
|
||||||
# sleep 15
|
|
||||||
# cat /home/runner/work/_temp/tachidesk/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 ubuntu run successfully"
|
|
||||||
# echo "value=true" >> $GITHUB_OUTPUT
|
|
||||||
# docker stop test_image_stable
|
|
||||||
# else
|
|
||||||
# echo ""
|
|
||||||
# echo "Tachidesk stable ubuntu run Failed"
|
|
||||||
# echo "value=false" >> $GITHUB_OUTPUT
|
|
||||||
# curl \
|
|
||||||
# -F 'payload_json={"username": "Github", "content": "<@255018340244914177>\n<@785012853178499073>\nDocker Stable Ubuntu 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: discord webhook preview
|
|
||||||
if: ${{ inputs.tachidesk_release_type == 'preview' }}
|
if: ${{ inputs.tachidesk_release_type == 'preview' }}
|
||||||
id: discord_webhook_preview
|
|
||||||
run: |
|
run: |
|
||||||
curl -H "Content-Type: application/json" -d '{"content": "Docker Preview Image Published!","embeds":[{"color":16729344,"author":{"name":"${{ github.repository_owner }}","icon_url":"https://avatars.githubusercontent.com/u/81182076","url":"https://github.com/${{ github.repository_owner }}"},"title":"Docker Preview Release","url":"https://github.com/${{ github.repository_owner }}/docker-tachidesk","fields":[{"name":"docker update","value":"docker pull ghcr.io/suwayomi/tachidesk:preview","inline":false},{"name":"docker run","value":"docker run -p 4567:4567 ghcr.io/suwayomi/tachidesk:preview","inline":false}],"thumbnail":{"url": "https://www.docker.com/sites/default/files/d8/2019-07/vertical-logo-monochromatic.png"},"description":"Tachidesk version - ${{ steps.get_latest_release_metadata.outputs.release_var }}"}]}' "https://discord.com/api/webhooks/${{ secrets.DISCORD_TACHIDESK_WEBHOOK_ID }}/${{ secrets.DISCORD_TACHIDESK_TOKEN }}"
|
curl -H "Content-Type: application/json" -d '{"content": "Docker Preview Image Published!","embeds":[{"color":16729344,"author":{"name":"${{ github.repository_owner }}","icon_url":"https://avatars.githubusercontent.com/u/81182076","url":"https://github.com/${{ github.repository_owner }}"},"title":"Docker Preview Release","url":"https://github.com/${{ github.repository_owner }}/docker-tachidesk","fields":[{"name":"docker update","value":"docker pull ghcr.io/suwayomi/tachidesk:preview","inline":false},{"name":"docker run","value":"docker run -p 4567:4567 ghcr.io/suwayomi/tachidesk:preview","inline":false}],"thumbnail":{"url": "https://www.docker.com/sites/default/files/d8/2019-07/vertical-logo-monochromatic.png"},"description":"Tachidesk version - ${{ steps.get_latest_release_metadata.outputs.release_var }}"}]}' "https://discord.com/api/webhooks/${{ secrets.DISCORD_TACHIDESK_WEBHOOK_ID }}/${{ secrets.DISCORD_TACHIDESK_TOKEN }}"
|
||||||
|
|
||||||
- name: discord webhook stable
|
- name: Send a Discord message through the webhook (stable build)
|
||||||
if: ${{ inputs.tachidesk_release_type == 'stable' }}
|
if: ${{ inputs.tachidesk_release_type == 'stable' }}
|
||||||
id: discord_webhook_stable
|
|
||||||
run: |
|
run: |
|
||||||
curl -H "Content-Type: application/json" -d '{"content": "Docker Stable Image Published!","embeds":[{"color":5409028,"author":{"name":"${{ github.repository_owner }}","icon_url":"https://avatars.githubusercontent.com/u/81182076","url":"https://github.com/${{ github.repository_owner }}"},"title":"Docker Stable Release","url":"https://github.com/${{ github.repository_owner }}/docker-tachidesk","fields":[{"name":"docker update","value":"docker pull ghcr.io/suwayomi/tachidesk:stable","inline":false},{"name":"docker run","value":"docker run -p 4567:4567 ghcr.io/suwayomi/tachidesk","inline":false}],"thumbnail":{"url": "https://www.docker.com/sites/default/files/d8/2019-07/vertical-logo-monochromatic.png"},"description":"Tachidesk version - ${{ steps.get_latest_release_metadata.outputs.release_tag }}"}]}' "https://discord.com/api/webhooks/${{ secrets.DISCORD_TACHIDESK_WEBHOOK_ID }}/${{ secrets.DISCORD_TACHIDESK_TOKEN }}"
|
curl -H "Content-Type: application/json" -d '{"content": "Docker Stable Image Published!","embeds":[{"color":5409028,"author":{"name":"${{ github.repository_owner }}","icon_url":"https://avatars.githubusercontent.com/u/81182076","url":"https://github.com/${{ github.repository_owner }}"},"title":"Docker Stable Release","url":"https://github.com/${{ github.repository_owner }}/docker-tachidesk","fields":[{"name":"docker update","value":"docker pull ghcr.io/suwayomi/tachidesk:stable","inline":false},{"name":"docker run","value":"docker run -p 4567:4567 ghcr.io/suwayomi/tachidesk","inline":false}],"thumbnail":{"url": "https://www.docker.com/sites/default/files/d8/2019-07/vertical-logo-monochromatic.png"},"description":"Tachidesk version - ${{ steps.get_latest_release_metadata.outputs.release_tag }}"}]}' "https://discord.com/api/webhooks/${{ secrets.DISCORD_TACHIDESK_WEBHOOK_ID }}/${{ secrets.DISCORD_TACHIDESK_TOKEN }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user