Version 669 #353
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Containers | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-client: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - | |
| name: Checkout | |
| uses: actions/checkout@v6 | |
| - | |
| name: Docker meta | |
| id: docker_meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: | | |
| ghcr.io/${{ github.repository }} | |
| tags: | | |
| type=ref,event=tag | |
| labels: | | |
| org.opencontainers.image.title=Hydrus Network | |
| org.opencontainers.image.description=A personal booru-style media tagger that can import files and tags from your hard drive and popular websites. | |
| org.opencontainers.image.vendor=hydrusnetwork | |
| - | |
| id: lowercase-repository | |
| name: Cast repository name to lowercase | |
| run: | | |
| echo "repository=${GITHUB_REPOSITORY@L}" >> $GITHUB_OUTPUT | |
| - | |
| name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - | |
| name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - | |
| name: Login to GHCR | |
| if: github.event_name != 'pull_request' | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - | |
| name: Build | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: ${{ github.event_name != 'pull_request' }} | |
| file: ./static/build_files/docker/client/Dockerfile | |
| platforms: linux/amd64,linux/386,linux/arm/v7,linux/arm64 | |
| tags: ${{ steps.docker_meta.outputs.tags }} | |
| labels: ${{ steps.docker_meta.outputs.labels }} | |
| cache-from: type=registry,ref=ghcr.io/${{ steps.lowercase-repository.outputs.repository }}:buildcache-c | |
| cache-to: type=registry,ref=ghcr.io/${{ steps.lowercase-repository.outputs.repository }}:buildcache-c,mode=max | |
| build-server: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - | |
| name: Checkout | |
| uses: actions/checkout@v6 | |
| - | |
| name: Docker meta | |
| id: docker_meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: | | |
| ghcr.io/${{ github.repository }} | |
| tags: | | |
| type=ref,event=tag,prefix=server- | |
| type=raw,enable=true,prefix=,suffix=,value=server | |
| flavor: | | |
| latest=false | |
| labels: | | |
| org.opencontainers.image.title=Hydrus Network Server | |
| org.opencontainers.image.description=A personal booru-style media tagger that can import files and tags from your hard drive and popular websites. | |
| org.opencontainers.image.vendor=hydrusnetwork | |
| - | |
| id: lowercase-repository | |
| name: Cast repository name to lowercase | |
| run: | | |
| echo "repository=${GITHUB_REPOSITORY@L}" >> $GITHUB_OUTPUT | |
| - | |
| name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - | |
| name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - | |
| name: Login to GHCR | |
| if: github.event_name != 'pull_request' | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - | |
| name: Build | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: ${{ github.event_name != 'pull_request' }} | |
| file: ./static/build_files/docker/server/Dockerfile | |
| platforms: linux/amd64,linux/riscv64,linux/386,linux/arm/v6,linux/arm/v7,linux/arm64 | |
| tags: ${{ steps.docker_meta.outputs.tags }} | |
| labels: ${{ steps.docker_meta.outputs.labels }} | |
| cache-from: type=registry,ref=ghcr.io/${{ steps.lowercase-repository.outputs.repository }}:buildcache-s | |
| cache-to: type=registry,ref=ghcr.io/${{ steps.lowercase-repository.outputs.repository }}:buildcache-s,mode=max |