SquadDocker/.github/workflows/main.yml

91 lines
2.4 KiB
YAML

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 }}"