summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/actions/docker-tag-and-build/action.yml6
-rw-r--r--.github/workflows/docker_build.yml110
2 files changed, 35 insertions, 81 deletions
diff --git a/.github/actions/docker-tag-and-build/action.yml b/.github/actions/docker-tag-and-build/action.yml
index af988bed68..436bf8fd4a 100644
--- a/.github/actions/docker-tag-and-build/action.yml
+++ b/.github/actions/docker-tag-and-build/action.yml
@@ -13,6 +13,10 @@ inputs:
description: version tag to use for docker image
required: true
type: string
+ dockerfile:
+ description: dockerfile to use
+ required: false
+ default: apps/docker/Dockerfile
runs:
using: composite
steps:
@@ -29,7 +33,7 @@ runs:
uses: docker/build-push-action@v5
with:
context: ${{ github.workspace }}
- file: apps/docker/Dockerfile
+ file: ${{ inputs.dockerfile }}
push: ${{ inputs.push }}
tags: ${{ steps.meta.outputs.tags }}
target: ${{ inputs.component-name }}
diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml
index ffc3104a7e..0f23f9ad77 100644
--- a/.github/workflows/docker_build.yml
+++ b/.github/workflows/docker_build.yml
@@ -14,76 +14,19 @@ concurrency:
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
cancel-in-progress: true
-jobs:
- docker-build-n-deploy-dev:
- runs-on: "ubuntu-latest"
- if: |
- github.repository == 'azerothcore/azerothcore-wotlk'
- && !github.event.pull_request.draft
- && (github.ref_name == 'master' || contains(github.event.pull_request.labels.*.name, 'run-build') || github.event.label.name == 'run-build')
- env:
- COMPOSE_DOCKER_CLI_BUILD: 1
- DOCKER_BUILDKIT: 1
+env:
+ COMPOSE_DOCKER_CLI_BUILD: 1
+ DOCKER_BUILDKIT: 1
+ RUNNING_ON_PRIMARY_BRANCH: |
+ ${{ (github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master') && 'true' || 'false' }}
- steps:
- - name: Free up disk space
- run: |
- sudo rm -rf /usr/local/lib/android
- sudo rm -rf /usr/share/dotnet
- sudo rm -rf /opt/ghc
- sudo rm -rf "$AGENT_TOOLSDIRECTORY"
-
- - uses: actions/checkout@v4
-
- - name: Login to Docker Hub
- if: github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master'
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
-
- - name: Get version
- id: version
- run: |
- output=$(./acore.sh version | grep "AzerothCore Rev. ")
- version=${output#"AzerothCore Rev. "}
- echo "version=$version" >> $GITHUB_OUTPUT
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3
-
- - name: Docker meta
- id: meta
- uses: docker/metadata-action@v5
- with:
- images: acore/ac-wotlk-dev-server
- tags: |
- type=raw,value=${{ steps.version.outputs.version }}
- type=ref,event=branch
-
- - name: Build and push
- uses: docker/build-push-action@v5
- with:
- context: ${{ github.workspace }}
- file: apps/docker/Dockerfile.dev-server
- push: ${{ github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master' }}
- tags: ${{ steps.meta.outputs.tags }}
- build-args: |
- USER_ID=1000
- GROUP_ID=1000
- DOCKER_USER=acore
-
- # TODO: rename this job
- docker-build-n-deploy-prod:
+jobs:
+ build-containers:
runs-on: "ubuntu-latest"
if: |
github.repository == 'azerothcore/azerothcore-wotlk'
&& !github.event.pull_request.draft
&& (github.ref_name == 'master' || contains(github.event.pull_request.labels.*.name, 'run-build') || github.event.label.name == 'run-build')
- env:
- COMPOSE_DOCKER_CLI_BUILD: 1
- DOCKER_BUILDKIT: 1
-
steps:
- name: Free up disk space
run: |
@@ -100,14 +43,14 @@ jobs:
# If you're wanting containers without mod-eluna, the best solution is to
# build them locally (such as with `docker compose build`)
- name: Download Eluna
- if: github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master'
+ if: env.RUNNING_ON_PRIMARY_BRANCH == 'true'
uses: actions/checkout@v4
with:
repository: azerothcore/mod-eluna
path: modules/mod-eluna
- name: Login to Docker Hub
- if: github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master'
+ if: env.RUNNING_ON_PRIMARY_BRANCH == 'true'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
@@ -116,8 +59,7 @@ jobs:
- name: Get version
id: version
run: |
- output=$(./acore.sh version | grep "AzerothCore Rev. ")
- version=${output#"AzerothCore Rev. "}
+ version="$(jq -r '.version' acore.json)"
echo "version=$version" >> $GITHUB_OUTPUT
- name: Set up Docker Buildx
@@ -128,45 +70,53 @@ jobs:
with:
component-name: worldserver
version: ${{ steps.version.outputs.version }}
- push: ${{ github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master' }}
+ push: ${{ env.RUNNING_ON_PRIMARY_BRANCH }}
- name: build authserver
uses: ./.github/actions/docker-tag-and-build
with:
component-name: authserver
version: ${{ steps.version.outputs.version }}
- push: ${{ github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master' }}
+ push: ${{ env.RUNNING_ON_PRIMARY_BRANCH }}
- name: build db-import
uses: ./.github/actions/docker-tag-and-build
with:
component-name: db-import
version: ${{ steps.version.outputs.version }}
- push: ${{ github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master' }}
+ push: ${{ env.RUNNING_ON_PRIMARY_BRANCH }}
- name: build client-data
uses: ./.github/actions/docker-tag-and-build
with:
component-name: client-data
version: ${{ steps.version.outputs.version }}
- push: ${{ github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master' }}
+ push: ${{ env.RUNNING_ON_PRIMARY_BRANCH }}
- name: build tools
uses: ./.github/actions/docker-tag-and-build
with:
component-name: tools
version: ${{ steps.version.outputs.version }}
- push: ${{ github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master' }}
+ push: ${{ env.RUNNING_ON_PRIMARY_BRANCH }}
- dispatch-acore-docker:
- needs: [ docker-build-n-deploy-prod , docker-build-n-deploy-dev]
- runs-on: ubuntu-latest
- steps:
- - name: Repository Dispatch
- if: github.repository == 'azerothcore/azerothcore-wotlk' && github.ref_name == 'master'
+ - name: build dev-server
+ uses: ./.github/actions/docker-tag-and-build
+ with:
+ component-name: dev
+ version: ${{ steps.version.outputs.version }}
+ push: ${{ env.RUNNING_ON_PRIMARY_BRANCH }}
+ dockerfile: apps/docker/Dockerfile.dev-server
+
+ - name: Trigger acore-docker CI
+ if: env.RUNNING_ON_PRIMARY_BRANCH == 'true'
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.ACORE_DOCKER_REPO_ACCESS_TOKEN }}
repository: azerothcore/acore-docker
event-type: azerothcore-new-images
- client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
+ client-payload: >
+ {
+ "ref": "${{ github.ref }}",
+ "sha": "${{ github.sha }}"
+ }