v2.0.0-beta.1 #58
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: devel | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| paths: | |
| - docker/** | |
| - .github/workflows/*.yml | |
| push: | |
| branches: | |
| - master | |
| paths: | |
| - docker/** | |
| - .github/workflows/*.yml | |
| env: | |
| DOCKER_IMAGE: ghcr.io/${{ github.repository }} | |
| jobs: | |
| docker-amd64: | |
| name: Docker test (AMD64) | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - | |
| name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| # https://github.com/actions/runner-images/issues/2840 | |
| - name: Free disk space | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android/sdk/build-tools | |
| sudo rm -rf /usr/local/lib/android/sdk/cmake | |
| sudo rm -rf /usr/local/lib/android/sdk/cmdline-tools | |
| sudo rm -rf /usr/local/lib/android/sdk/extras | |
| sudo rm -rf /usr/local/lib/android/sdk/ndk | |
| - | |
| name: Login to ghcr.io | |
| uses: docker/login-action@v3 | |
| # if: github.ref == 'refs/heads/main' | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - | |
| name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - | |
| name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.DOCKER_IMAGE }} | |
| flavor: | | |
| latest=false | |
| tags: | | |
| type=raw,value=devel-amd64 | |
| - | |
| name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver-opts: network=host | |
| - | |
| name: Build image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/amd64 | |
| file: docker/amd64/base/Dockerfile | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| push: false | |
| load: true | |
| cache-from: type=gha,scope=devel-amd64 | |
| cache-to: type=gha,scope=devel-amd64,mode=max | |
| - | |
| name: Inspect image | |
| run: | | |
| docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} | |
| - | |
| name: Run tests | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: "${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }}" | |
| shell: bash | |
| options: -v ${{ github.workspace }}:/root/src | |
| run: | | |
| set -eux | |
| cat /etc/debian_version | |
| uname -a | |
| make test-app | |
| - | |
| name: Build image & push | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/amd64 | |
| file: docker/amd64/base/Dockerfile | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| # push: ${{ github.ref == 'refs/heads/master' }} | |
| push: true | |
| cache-from: type=gha,scope=devel-amd64 | |
| cache-to: type=gha,scope=devel-amd64,mode=max | |
| - | |
| name: Check manifest | |
| # if: github.ref == 'refs/heads/master' | |
| run: | | |
| docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} | |
| ## AMD64 libs | |
| - | |
| name: Docker meta (libs) | |
| id: meta2 | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.DOCKER_IMAGE }} | |
| flavor: | | |
| latest=false | |
| tags: | | |
| type=raw,value=devel-libs-amd64 | |
| - | |
| name: Set up Docker Buildx (libs) | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver-opts: network=host | |
| - | |
| name: Build image (libs) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/amd64 | |
| file: docker/amd64/libs/Dockerfile | |
| tags: ${{ steps.meta2.outputs.tags }} | |
| labels: ${{ steps.meta2.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| push: false | |
| load: true | |
| cache-from: | | |
| type=gha,scope=devel-libs-amd64 | |
| type=gha,scope=devel-amd64 | |
| cache-to: type=gha,scope=devel-libs-amd64,mode=max | |
| - | |
| name: Inspect image (libs) | |
| run: | | |
| docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta2.outputs.version }} | |
| - | |
| name: Run tests (libs) | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: "${{ env.DOCKER_IMAGE }}:${{ steps.meta2.outputs.version }}" | |
| shell: bash | |
| options: -v ${{ github.workspace }}:/root/src | |
| run: | | |
| set -eux | |
| cat /etc/debian_version | |
| uname -a | |
| make test-app | |
| make test-zlib | |
| make test-openssl | |
| - | |
| name: Build image & push (libs) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/amd64 | |
| file: docker/amd64/libs/Dockerfile | |
| tags: ${{ steps.meta2.outputs.tags }} | |
| labels: ${{ steps.meta2.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| # push: ${{ github.ref == 'refs/heads/master' }} | |
| push: true | |
| cache-from: | | |
| type=gha,scope=devel-libs-amd64 | |
| type=gha,scope=devel-amd64 | |
| cache-to: type=gha,scope=devel-libs-amd64,mode=max | |
| - | |
| name: Check manifest (libs) | |
| # if: github.ref == 'refs/heads/master' | |
| run: | | |
| docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta2.outputs.version }} | |
| docker-arm64: | |
| name: Docker test (ARM64) | |
| runs-on: ubuntu-22.04-arm | |
| steps: | |
| - | |
| name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| # https://github.com/actions/runner-images/issues/2840 | |
| - name: Free disk space | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf /usr/local/lib/android/sdk/build-tools | |
| sudo rm -rf /usr/local/lib/android/sdk/cmake | |
| sudo rm -rf /usr/local/lib/android/sdk/cmdline-tools | |
| sudo rm -rf /usr/local/lib/android/sdk/extras | |
| sudo rm -rf /usr/local/lib/android/sdk/ndk | |
| - | |
| name: Login to ghcr.io | |
| uses: docker/login-action@v3 | |
| # if: github.ref == 'refs/heads/main' | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - | |
| name: Set up QEMU | |
| uses: docker/setup-qemu-action@v3 | |
| - | |
| name: Docker meta | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.DOCKER_IMAGE }} | |
| flavor: | | |
| latest=false | |
| tags: | | |
| type=raw,value=devel-arm64 | |
| - | |
| name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver-opts: network=host | |
| - | |
| name: Build image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/arm64 | |
| file: docker/arm64/base/Dockerfile | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| push: false | |
| load: true | |
| cache-from: type=gha,scope=devel-arm64 | |
| cache-to: type=gha,scope=devel-arm64,mode=max | |
| - | |
| name: Inspect image | |
| run: | | |
| docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} | |
| - | |
| name: Run tests | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: "${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }}" | |
| shell: bash | |
| options: -v ${{ github.workspace }}:/root/src | |
| run: | | |
| set -eux | |
| cat /etc/debian_version | |
| uname -a | |
| make test-app | |
| - | |
| name: Build image & push | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/arm64 | |
| file: docker/arm64/base/Dockerfile | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| # push: ${{ github.ref == 'refs/heads/master' }} | |
| push: true | |
| cache-from: type=gha,scope=devel-arm64 | |
| cache-to: type=gha,scope=devel-arm64,mode=max | |
| - | |
| name: Check manifest | |
| # if: github.ref == 'refs/heads/master' | |
| run: | | |
| docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta.outputs.version }} | |
| ## ARM64 libs | |
| - | |
| name: Docker meta (libs) | |
| id: meta2 | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.DOCKER_IMAGE }} | |
| flavor: | | |
| latest=false | |
| tags: | | |
| type=raw,value=devel-libs-arm64 | |
| - | |
| name: Set up Docker Buildx (libs) | |
| uses: docker/setup-buildx-action@v3 | |
| with: | |
| driver-opts: network=host | |
| - | |
| name: Build image (libs) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/arm64 | |
| file: docker/arm64/libs/Dockerfile | |
| tags: ${{ steps.meta2.outputs.tags }} | |
| labels: ${{ steps.meta2.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| push: false | |
| load: true | |
| cache-from: | | |
| type=gha,scope=devel-libs-arm64 | |
| type=gha,scope=devel-arm64 | |
| cache-to: type=gha,scope=devel-libs-arm64,mode=max | |
| - | |
| name: Inspect image (libs) | |
| run: | | |
| docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta2.outputs.version }} | |
| - | |
| name: Run tests (libs) | |
| uses: addnab/docker-run-action@v3 | |
| with: | |
| image: "${{ env.DOCKER_IMAGE }}:${{ steps.meta2.outputs.version }}" | |
| shell: bash | |
| options: -v ${{ github.workspace }}:/root/src | |
| run: | | |
| set -eux | |
| cat /etc/debian_version | |
| uname -a | |
| make test-app | |
| make test-zlib | |
| make test-openssl | |
| - | |
| name: Build image & push (libs) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| platforms: linux/arm64 | |
| file: docker/arm64/libs/Dockerfile | |
| tags: ${{ steps.meta2.outputs.tags }} | |
| labels: ${{ steps.meta2.outputs.labels }} | |
| build-args: | | |
| VERSION=0.0.0 | |
| # push: ${{ github.ref == 'refs/heads/master' }} | |
| push: true | |
| cache-from: | | |
| type=gha,scope=devel-libs-arm64 | |
| type=gha,scope=devel-arm64 | |
| cache-to: type=gha,scope=devel-libs-arm64,mode=max | |
| - | |
| name: Check manifest (libs) | |
| # if: github.ref == 'refs/heads/master' | |
| run: | | |
| docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.meta2.outputs.version }} |