Update base image with noble base and update all libraries + jellyfin ffmpeg to latest and Handbrake to 1.10.2 #52
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 Docker Images | |
| on: | |
| pull_request: | |
| branches: ["**"] | |
| jobs: | |
| setup-env-vars: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| VERSION: ${{ steps.set-variable.outputs.VERSION }} | |
| DATE: ${{ steps.set-variable.outputs.DATE }} | |
| ARCHS: ${{ steps.set-variable.outputs.ARCHS }} | |
| BUILD_BASE: ${{ steps.set-variable.outputs.BUILD_BASE }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set environment variables | |
| id: set-variable | |
| run: | | |
| VERSION=$(sed 's/.*"version": "\(.*\)".*/\1/;t;d' ./package.json) | |
| DATE=$(date +"%Y_%m_%dT%H_%M_%Sz") | |
| ARCHS=all-arch | |
| BUILD_BASE=true | |
| echo "VERSION=$VERSION" >> $GITHUB_OUTPUT | |
| echo "DATE=$DATE" >> $GITHUB_OUTPUT | |
| echo "ARCHS=$ARCHS" >> $GITHUB_OUTPUT | |
| echo "BUILD_BASE=$BUILD_BASE" >> $GITHUB_OUTPUT | |
| echo VERSION=$VERSION | |
| echo DATE=$DATE | |
| echo ARCHS=$ARCHS | |
| echo BUILD_BASE=$BUILD_BASE | |
| git log -5 | |
| shell: bash | |
| docker_linux_image_base: | |
| if: needs.setup-env-vars.outputs.BUILD_BASE == 'true' | |
| needs: [setup-env-vars] | |
| runs-on: ubuntu-latest | |
| name: Build Docker base image | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| image: tonistiigi/binfmt:qemu-v7.0.0-28 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| # - name: Login to Docker Hub | |
| # uses: docker/login-action@v3 | |
| # with: | |
| # registry: docker.io | |
| # username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| # password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| - name: Build base image | |
| working-directory: ./docker-build | |
| run: | | |
| make build-base-${{needs.setup-env-vars.outputs.ARCHS}} DATE=${{needs.setup-env-vars.outputs.DATE}} PDIR=../ USE_PROD_PACKAGES=true | |
| - name: Push base image | |
| if: ${{ needs.setup-env-vars.outputs.ARCHS == 'x64' }} | |
| working-directory: ./docker-build | |
| run: | | |
| make push-base DATE=${{needs.setup-env-vars.outputs.DATE}} PDIR=../ USE_PROD_PACKAGES=true | |
| docker_linux_image_final: | |
| needs: [ | |
| setup-env-vars, | |
| # BUILD_BASE | |
| docker_linux_image_base, | |
| ] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| component: [node, be] | |
| name: Build Docker final images | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| image: tonistiigi/binfmt:qemu-v7.0.0-28 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: docker.io | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| - name: Build ${{ matrix.component }} image | |
| working-directory: ./docker-build | |
| run: | | |
| make build-${{ matrix.component }}-${{needs.setup-env-vars.outputs.ARCHS}} TAG=dev DATE=${{needs.setup-env-vars.outputs.DATE}} PDIR=../ USE_PROD_PACKAGES=true |