name: Docker Image CI on: workflow_dispatch: schedule: - cron: "05 18 * * *" push: branches: - Development jobs: log-reg: runs-on: self-hosted steps: - name: Registry Login uses: docker/login-action@v3 with: registry: "${{ vars.DOCKER_REGISTRY_URL }}" username: "${{ secrets.DOCKER_REGISTRY_USER }}" password: "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" logout: false base-squad: runs-on: self-hosted needs: log-reg steps: - name: Checkout uses: actions/checkout@v4 - name: set up Buildx uses: docker/setup-buildx-action@v3 - name: Build and Push uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile push: true tags: "${{ vars.DOCKER_REGISTRY_URL }}/squad:latest" cache-to: type=inline build_matrix: strategy: max-parallel: 2 fail-fast: false matrix: include: - name-id: tac-latest mods: "2914624834,2891780963,2924330335,2923657563,2923966298,2960147679,2960146775,2972409386,2957886095" - name-id: tac-bots-latest mods: "2891780963" runs-on: self-hosted needs: base-squad steps: - uses: actions/checkout@v3 - name: Registry Login uses: docker/login-action@v2 with: registry: "${{ vars.DOCKER_REGISTRY_URL }}" username: "${{ secrets.DOCKER_REGISTRY_USER }}" password: "${{ secrets.DOCKER_REGISTRY_PASSWORD }}" logout: false - name: Setup Docker Buildx id: buildx uses: docker/setup-buildx-action@v2 - name: Build Image uses: docker/build-push-action@v3 with: builder: ${{ steps.buildx.outputs.name }} context: . file: ./Dockerfile build-args: mods=${{ matrix.mods }} push: true tags: "${{ vars.DOCKER_REGISTRY_URL }}/squad:${{ matrix.name-id }}" cache-from: type=registry,ref=${{ vars.DOCKER_REGISTRY_URL }}/squad:latest cache-to: type=inline logout-reg: runs-on: self-hosted needs: build_matrix steps: - name: Registry Login uses: docker/login-action@v2 with: registry: "${{ vars.DOCKER_REGISTRY_URL }}" username: "${{ secrets.DOCKER_REGISTRY_USER }}" password: "${{ secrets.DOCKER_REGISTRY_PASSWORD }}"