name: Main on: push: branches: - main jobs: docker-build: name: Docker Main runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Cache Docker layers uses: actions/cache@v2 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- - name: Build and push uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: embarkstudios/wireguard-ui:latest cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache docker-userspace: name: Docker UserSpace runs-on: ubuntu-20.04 needs: docker-build steps: - name: Checkout uses: actions/checkout@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Cache Docker layers uses: actions/cache@v2 with: path: /tmp/.buildx-cache-userspace key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- - name: Build and push uses: docker/build-push-action@v2 with: context: . file: ./UserSpace.Dockerfile platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: embarkstudios/wireguard-ui:userspace cache-from: type=local,src=/tmp/.buildx-cache-userspace cache-to: type=local,dest=/tmp/.buildx-cache-userspace docker-debug: name: Docker Debug runs-on: ubuntu-20.04 needs: [docker-build, docker-userspace] steps: - name: Checkout uses: actions/checkout@v2 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Cache Docker layers uses: actions/cache@v2 with: path: /tmp/.buildx-cache-debug key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- - name: Build and push uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile.debug platforms: linux/amd64,linux/arm64,linux/arm/v7 push: true tags: embarkstudios/wireguard-ui:debug cache-from: type=local,src=/tmp/.buildx-cache-debug cache-to: type=local,dest=/tmp/.buildx-cache-debug