latest sources commit
This commit is contained in:
76
.github/CODE_OF_CONDUCT.md
vendored
Normal file
76
.github/CODE_OF_CONDUCT.md
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||
level of experience, education, socio-economic status, nationality, personal
|
||||
appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the admin team at https://discord.gg/gkt4y2x. All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
||||
48
.github/CONTRIBUTING.md
vendored
Normal file
48
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
## CONTRIBUTING
|
||||
|
||||
AzerothCore is a learning project, and there are lots of different ways to contribute to the project:
|
||||
|
||||
* By [testing our fixes](http://www.azerothcore.org/wiki/How-to-test-a-PR) (we can teach you how to correctly use Git to help us but that will also help you out tremendously)
|
||||
* By developing directly to the core or the modules
|
||||
* By reporting bugs within the project
|
||||
* By [creating new modules](http://www.azerothcore.org/wiki/Create-a-Module)
|
||||
* By improving our wiki
|
||||
* By providing direct support to our community (on discord, StackOverflow or specialized forums)
|
||||
* By making extra content (video tutorial for example)
|
||||
* By putting bounties on issues
|
||||
|
||||
If you want to contribute to the project, you will find a lot of resources that will guide you in our wiki.
|
||||
|
||||
Feel free to join our [Discord](https://discord.gg/gkt4y2x) server where we are happy to help new people to get started!
|
||||
|
||||
## AUTHORS & CONTRIBUTORS
|
||||
|
||||
This project exists thanks to:
|
||||
|
||||
- **The [AzerothCore developers and contributors](https://github.com/AzerothCore/azerothcore-wotlk/graphs/contributors)**
|
||||
- The [SunwellCore developers xinef and pussywizard](http://www.azerothcore.org/pages/sunwell.pl/)
|
||||
- All the [TrinityCore developers and contributors](https://github.com/TrinityCore/TrinityCore/blob/3.3.5/AUTHORS)
|
||||
- All the [MaNGOS, ScriptDev2 and UDB developers and contributors](https://github.com/cmangos/mangos-wotlk/blob/master/AUTHORS.md)
|
||||
|
||||
Check [AUTHORS](https://github.com/azerothcore/azerothcore-wotlk/blob/master/AUTHORS) for more details.
|
||||
|
||||
## IMPORTANT LINKS
|
||||
|
||||
- [Installation Guide](https://www.azerothcore.org/wiki/installation)
|
||||
- [Code of Conduct](https://github.com/azerothcore-wotlk/.github/code_of_conduct.md)
|
||||
- [FAQ](https://www.azerothcore.org/wiki/faq)
|
||||
- [Common Errors](https://www.azerothcore.org/wiki/common-errors)
|
||||
|
||||
- [Website](http://www.azerothcore.org/)
|
||||
- [Our wiki](http://www.azerothcore.org/wiki "Easy to use and developed by AzerothCore founder")
|
||||
- [AzerothCore catalogue](http://www.azerothcore.org/catalogue/ "Modules, tools, and other things for AzerothCore") (modules, tools etc...)
|
||||
- [Module template / Module skeleton](https://github.com/azerothcore/skeleton-module/)
|
||||
- [Discord](https://discord.gg/gkt4y2x)
|
||||
- [Our Facebook page](https://www.facebook.com/AzerothCore/)
|
||||
- [Our LinkedIn page](https://www.linkedin.com/company/azerothcore/)
|
||||
|
||||
All contributions, big or small, are appreciated <3
|
||||
|
||||
The AzerothCore Staff appreciate all the help and contribution that *you* put your time into.
|
||||
|
||||
Thank you!
|
||||
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
custom: https://www.paypal.com/donate/?hosted_button_id=L69ANPSR8BJDU
|
||||
94
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
94
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
name: Bug report
|
||||
description: Create a bug report to help us improve.
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking the time to fill out a bug report. Remember to fill out all fields including the title above.
|
||||
An issue that is not properly filled out will be closed.
|
||||
You can read more about the standards for a bug report [here](https://www.azerothcore.org/wiki/issue-tracker-standards).
|
||||
- type: textarea
|
||||
id: current
|
||||
attributes:
|
||||
label: Current Behaviour
|
||||
description: |
|
||||
Description of the problem or issue here.
|
||||
Include entries of affected creatures / items / quests / spells etc.
|
||||
If this is a crash, post the crashlog (upload to https://gist.github.com/) and include the link here.
|
||||
Never upload files! Use GIST for text and YouTube for videos!
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected Blizzlike Behaviour
|
||||
description: |
|
||||
Tell us what should happen instead.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: source
|
||||
attributes:
|
||||
label: Source
|
||||
description: |
|
||||
If you have a source that proves how it is supposed to work, please add that to make it easier for devs to fix the issue.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: Steps to reproduce the problem
|
||||
description: |
|
||||
What does someone else need to do to encounter the same bug?
|
||||
placeholder: |
|
||||
1. Step 1
|
||||
2. Step 2
|
||||
3. Step 3
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: extra
|
||||
attributes:
|
||||
label: Extra Notes
|
||||
description: |
|
||||
Do you have any extra notes that can help solve the issue that does not fit any other field?
|
||||
placeholder: |
|
||||
None
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: commit
|
||||
attributes:
|
||||
label: AC rev. hash/commit
|
||||
description: |
|
||||
Copy the result of the `.server debug` command (if you need to run it from the client get a prat addon)
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating system
|
||||
description: |
|
||||
The Operating System the Server is running on.
|
||||
i.e. Windows 11 x64, Debian 10 x64, macOS 12, Ubuntu 20.04
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: custom
|
||||
attributes:
|
||||
label: Custom changes or Modules
|
||||
description: |
|
||||
List which custom changes or modules you have applied, i.e. Eluna module, etc.
|
||||
placeholder: |
|
||||
None
|
||||
validations:
|
||||
required: false
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for your contribution.
|
||||
If you use AzerothCore regularly, we really NEED your help to:
|
||||
- Test our fixes: https://www.azerothcore.org/wiki/How-to-test-a-PR
|
||||
- Report issues or suggestions: https://github.com/azerothcore/azerothcore-wotlk/issues/new/choose
|
||||
- Improve the documentation/wiki: https://www.azerothcore.org/wiki/home
|
||||
With your help, the project can evolve much quicker!
|
||||
20
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
20
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Website
|
||||
url: https://www.azerothcore.org
|
||||
about: On the AC website you can find a lot of things, such as existing modules.
|
||||
- name: Wiki
|
||||
url: https://www.azerothcore.org/wiki
|
||||
about: You can find plenty of information on our Wiki.
|
||||
- name: How to ask for help
|
||||
url: https://www.azerothcore.org/wiki/How-to-ask-for-help
|
||||
about: Before submitting an issue we'd love if you take a minute to read this.
|
||||
- name: FAQ
|
||||
url: https://www.azerothcore.org/wiki/faq
|
||||
about: Frequently asked questions.
|
||||
- name: Common Errors
|
||||
url: https://www.azerothcore.org/wiki/common-errors
|
||||
about: You can find common errors and their solutions here.
|
||||
- name: Discord
|
||||
url: https://discord.gg/gkt4y2x
|
||||
about: Join the discussions over at our Discord Server.
|
||||
43
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
43
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: Feature request
|
||||
description: Suggest an idea for this project
|
||||
title: "Feature: "
|
||||
labels: [Suggestion]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking your time to fill out a feature request. Remember to fill out all fields including the title above.
|
||||
An issue that is not properly filled out will be closed.
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe your feature request or suggestion in detail
|
||||
description: |
|
||||
A clear and concise description of what you want to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: Describe a possible solution to your feature or suggestion in detail
|
||||
description: |
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: additional
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: |
|
||||
Add any other context or screenshots about the feature request here.
|
||||
validations:
|
||||
required: false
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for your contribution.
|
||||
If you use AzerothCore regularly, we really NEED your help to:
|
||||
- Test our fixes: https://www.azerothcore.org/wiki/How-to-test-a-PR
|
||||
- Report issues or suggestions: https://github.com/azerothcore/azerothcore-wotlk/issues/new/choose
|
||||
- Improve the documentation/wiki: https://www.azerothcore.org/wiki/home
|
||||
With your help, the project can evolve much quicker!
|
||||
87
.github/README.md
vendored
Normal file
87
.github/README.md
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
#  AzerothCore
|
||||
|
||||
[](https://www.codefactor.io/repository/github/azerothcore/azerothcore-wotlk)
|
||||
[](https://stackoverflow.com/questions/tagged/azerothcore?sort=newest "Ask / browse questions here")
|
||||
[](https://discord.gg/gkt4y2x "Our community hub on Discord")
|
||||
|
||||
## Build Status
|
||||
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions/workflows/core_matrix_build.yml)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Acore-modules-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Awindows-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Amacos-build+branch%3Amaster+event%3Apush)
|
||||
[](https://github.com/azerothcore/azerothcore-wotlk/actions?query=workflow%3Adocker-build+branch%3Amaster+event%3Apush)
|
||||
|
||||
## Introduction
|
||||
|
||||
AzerothCore is an open-source game server application and framework designed for hosting massively multiplayer online role-playing games (MMORPGs). It is based on the popular MMORPG World of Warcraft (WoW) and seeks to recreate the gameplay experience of the original game from patch 3.3.5a.
|
||||
|
||||
The original code is based on MaNGOS, TrinityCore, and SunwellCore and has since then had extensive development to improve stability, in-game mechanics, and modularity to the game. AC has also grown into a community-driven project with a significant number of contributors and developers. It is written in C++ and provides a solid foundation for creating private servers that mimic the mechanics and behavior of the official WoW servers.
|
||||
|
||||
## Philosophy
|
||||
|
||||
Our main goal is to create a playable game server, offering a fully working in-game experience.
|
||||
|
||||
Here are the main points we focus on:
|
||||
|
||||
* Stability
|
||||
* We make sure all changes pass the CIs before being merged into the master branch.
|
||||
|
||||
* Blizzlike content
|
||||
* We strive to make all in-game content to be blizzlike. Therefore we have a high standard for fixes being made.
|
||||
|
||||
* Customization
|
||||
* It is easy to customize your experience using [modules](#modules).
|
||||
|
||||
* Community driven
|
||||
* AzerothCore has an active community of developers, contributors, and users who collaborate, share knowledge, and provide support through forums, Discord channels, and other communication platforms.
|
||||
|
||||
### Modules
|
||||
|
||||
AzerothCore is designed to be highly modular, allowing developers to extend and customize the game to suit their preferences or create unique gameplay experiences. This flexibility enables the addition of custom features, content, and modifications.
|
||||
|
||||
We have a lot of modules already made by the community, many of which can be found in the [Module Catalogue](https://www.azerothcore.org/catalogue.html#/).
|
||||
|
||||
## Installation
|
||||
|
||||
Detailed installation instructions are available [here](http://www.azerothcore.org/wiki/installation).
|
||||
|
||||
## Contributing
|
||||
|
||||
AzerothCore can also serve as a learning resource for aspiring developers who want to understand how WoW servers work, how MMORPGs are structured, how game server emulators are created, or to improve their C++ and SQL knowledge.
|
||||
|
||||
If you want to contribute to the project, you will find a lot of resources that will guide you in our [wiki](https://www.azerothcore.org/wiki/contribute).
|
||||
|
||||
We also recommend you read our [Contributor Covenant Code of Conduct](https://github.com/azerothcore/azerothcore-wotlk/blob/master/.github/CODE_OF_CONDUCT.md).
|
||||
|
||||
Feel free to join our [Discord server](https://discord.gg/gkt4y2x).
|
||||
|
||||
Click on the "⭐ Star" button to help us gain more visibility on Github!
|
||||
|
||||
## Authors & Contributors
|
||||
|
||||
This project exists thanks to the [authors](https://github.com/azerothcore/azerothcore-wotlk/blob/master/AUTHORS).
|
||||
|
||||
## Important Links
|
||||
|
||||
- [Doxygen documentation](https://www.azerothcore.org/pages/doxygen/index.html)
|
||||
- [Website](http://www.azerothcore.org/)
|
||||
- [AzerothCore catalogue](http://www.azerothcore.org/catalogue.html "Modules, tools, and other stuff for AzerothCore") (modules, tools, etc...)
|
||||
- [Our Discord server](https://discord.gg/gkt4y2x)
|
||||
- [Our wiki](http://www.azerothcore.org/wiki "Easy to use and developed by AzerothCore founder")
|
||||
- [Our forum](https://github.com/azerothcore/azerothcore-wotlk/discussions/)
|
||||
- [Our Facebook page](https://www.facebook.com/AzerothCore/)
|
||||
- [Our LinkedIn page](https://www.linkedin.com/company/azerothcore/)
|
||||
|
||||
## License
|
||||
|
||||
- The new AzerothCore source components are released under the [GNU AGPL v3](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3)
|
||||
- The old sources based on MaNGOS/TrinityCore are released under the [GNU GPL v2](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-GPL2)
|
||||
|
||||
It's important to note that AzerothCore is not an official Blizzard Entertainment product, and it is not affiliated with or endorsed by World of Warcraft or Blizzard Entertainment. AzerothCore does not in any case sponsor nor support illegal public servers. If you use this project to run an illegal public server and not for testing and learning it is your own personal choice.
|
||||
|
||||
## Special thanks
|
||||
|
||||
[JetBrains](https://www.jetbrains.com/?from=AzerothCore) is providing free [open-source licenses](https://www.jetbrains.com/community/opensource/) to the AzerothCore developers.
|
||||
|
||||
[](https://www.jetbrains.com/?from=AzerothCore)
|
||||
75
.github/SECURITY.md
vendored
Normal file
75
.github/SECURITY.md
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
We support the following versions of dependencies.
|
||||
|
||||
:white_check_mark: = supported
|
||||
|
||||
:red_circle: = NOT supported
|
||||
|
||||
unspecified = might work but no guarantee
|
||||
|
||||
Versions of AzerothCore:
|
||||
|
||||
| AzerothCore Branch | Supported |
|
||||
| ------------------ | ------------------ |
|
||||
| master | :white_check_mark: |
|
||||
|
||||
Versions of MySQL:
|
||||
|
||||
| MySQL Version | Supported |
|
||||
| ------------- | ------------------ |
|
||||
| 8.1 | :white_check_mark: |
|
||||
| 8.0 | :white_check_mark: |
|
||||
| 5.7 | :white_check_mark: |
|
||||
| 5.6 and lower | :red_circle: |
|
||||
|
||||
Versions of MariaDB:
|
||||
|
||||
| MariaDB Version | Supported |
|
||||
| --------------- | ------------------ |
|
||||
| 10.6 | :white_check_mark: |
|
||||
| 10.5 | :white_check_mark: |
|
||||
| 10.4 and lower | :red_circle: |
|
||||
|
||||
Versions of CLang:
|
||||
|
||||
| CLang Version | Supported |
|
||||
| ------------- | ------------------ |
|
||||
| 12 | :white_check_mark: |
|
||||
| 11 | :white_check_mark: |
|
||||
| 10 | :white_check_mark: |
|
||||
| 9 and lower | :red_circle: |
|
||||
|
||||
Versions of GCC:
|
||||
|
||||
| GCC Version | Supported |
|
||||
| ----------- | ------------------ |
|
||||
| 10 | :white_check_mark: |
|
||||
| 9 | :white_check_mark: |
|
||||
| 8 | :white_check_mark: |
|
||||
| 7 and lower | :red_circle: |
|
||||
|
||||
Versions of Ubuntu:
|
||||
|
||||
| Ubuntu version | Supported |
|
||||
| -------------- | ------------------ |
|
||||
| 20.04 | :white_check_mark: |
|
||||
| 18.04 and lower| :red_circle: |
|
||||
|
||||
Versions of macOS:
|
||||
|
||||
| macOS Version | Supported |
|
||||
| -------------- | ------------------ |
|
||||
| 12 | :white_check_mark: |
|
||||
| 11 | :white_check_mark: |
|
||||
| 10.15 and lower| :red_circle: |
|
||||
|
||||
**Note**: We do NOT support any repacks that may or may not have been made based on AzerothCore. Nor do we support any of the releases that are made under AzerothCore.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
We class a vulnerability to be any hack or exploit that has an impact on the server performance or that gives unfair advantages in the game (e.g fly hacking or injection tools).
|
||||
|
||||
If a new vulnerability is found you should always create a new [bug report](https://github.com/azerothcore/azerothcore-wotlk/issues/new/choose).
|
||||
97
.github/SUPPORT.md
vendored
Normal file
97
.github/SUPPORT.md
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
# How to ask for help
|
||||
|
||||
### Need help?
|
||||
|
||||
Do you need support with AzerothCore? No worries, we're happy to help you!
|
||||
|
||||
Whether you have troubles installing AzerothCore, or you want to ask how-to or generic help questions, **we will help you**.
|
||||
|
||||
We just want you to ask for support in the **proper way**. Please read this document before asking for any help.
|
||||
|
||||
### Why is the "proper way" so important?
|
||||
|
||||
If you ask a question directly in the chat, it can get easily lost and you might never be helped unless there is someone online in that specific moment that can help you.
|
||||
|
||||
If you put your question on StackOverflow it will **stay** there and someone can help you at any moment. You can also link your question in the chat to give it more visibility. Doesn't make sense for you? Just keep reading.
|
||||
|
||||
Also, most of the questions asked by users are repetitive. So we need an efficient way to handle all the support requests. We use StackOverflow for support questions and GitHub for bug reports.
|
||||
|
||||
Sounds complicated? Not at all! **Just keep reading**.
|
||||
|
||||
### Bug reports
|
||||
|
||||
A game feature (e.g. spell/quest/talent/etc..) doesn't work as it is supposed to?
|
||||
|
||||
Congratulations! You've just found a bug, please search among the [existing issues](https://github.com/azerothcore/azerothcore-wotlk/issues). There is a good chance that someone else has already reported the same bug that you found, in such case we kindly ask you to "confirm" it by leaving a comment.
|
||||
|
||||
Example:
|
||||

|
||||
|
||||
If after searching for an existing issue report, you didn't find any, then you should [open a new issue](https://github.com/azerothcore/azerothcore-wotlk/issues/new).
|
||||
|
||||
### Other support requests
|
||||
|
||||
- Getting an error while installing AzerothCore?
|
||||
- Is there something in the documentation that is not clear for you?
|
||||
- Do you want to know how to do something specific with AzerothCore?
|
||||
- Are you trying to do something like implementing a new feature, fixing a bug, etc...?
|
||||
- Do you have questions about C++ or SQL code that is related to AzerothCore or other AC custom modules?
|
||||
|
||||
These kinds of questions are considered support questions and are handled via [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore). **Read below**
|
||||
|
||||
### Do I need to register in StackOverflow?
|
||||
|
||||
**Not necessarily!** If you have a Google or a Facebook account, you can already log in [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore) (click the **_Log in_** button on the top-right corner of the website).
|
||||
|
||||

|
||||
|
||||
|
||||
### Search among the existing questions
|
||||
|
||||
There is a good chance that your question has already been asked by someone else, so please **search** it on [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore).
|
||||
|
||||
For example, are you getting an error from MySQL? Search it under the **[azerothcore]** tag!
|
||||
|
||||

|
||||
|
||||
Oh, there is already a question! And it has an answer! Let's open it!
|
||||
|
||||

|
||||
|
||||
**Another example**, imagine you're wondering whether you can use LUA scripts on AzerothCore:
|
||||
|
||||

|
||||
|
||||
There is already a question and answer for that! Let's upvote the guys who asked and answered:
|
||||
|
||||

|
||||
|
||||
|
||||
## How to ask new questions
|
||||
|
||||
What if you can't find a question related to my specific problem? **Let's [open a new question](https://stackoverflow.com/questions/ask)**.
|
||||
|
||||
Remember to:
|
||||
|
||||
- Add a descriptive message.
|
||||
- **Bad** example `I got DB error plz help me`.
|
||||
- **Good** example: `After importing the sql updates, I get the error "XXX"`
|
||||
|
||||
- Don't forget the **[azerothcore]** tag!
|
||||
- 
|
||||
|
||||
- It's useful to add **4 more tags** according to the category of your question (e.g. `c++`, `docker`, `MySQL`, `sql`, etc... ).
|
||||
|
||||
- Link your question in the #support-general channel of our [Discord chat](https://discordapp.com/channels/217589275766685707/284406375495368704)
|
||||
|
||||
- Read: [stackoverflow.com/help/how-to-ask](https://stackoverflow.com/help/how-to-ask)
|
||||
|
||||
|
||||
### Share your knowledge!
|
||||
|
||||
Do you have anything to share with the community? Do you feel like some information could be useful to someone else (or to yourself in the future)? Have you solved a problem that took a while to figure out?
|
||||
|
||||
Ask a question on StackOverflow and then **answer it yourself**! Is it allowed? Yes, it is! Read this:
|
||||
|
||||
[https://stackoverflow.com/help/self-answer](https://stackoverflow.com/help/self-answer)
|
||||
|
||||
37
.github/labeler.yml
vendored
Normal file
37
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
file-cpp:
|
||||
- src/**/*.cpp
|
||||
- src/**/*.h
|
||||
- deps/**/*.cpp
|
||||
- deps/**/*.h
|
||||
|
||||
DB:
|
||||
- data/**/*.sql
|
||||
|
||||
CORE:
|
||||
- any: ['src/**/*', '!src/server/scripts/*', '!src/tests/*']
|
||||
|
||||
Script:
|
||||
- src/server/scripts/**/*.cpp
|
||||
- src/server/scripts/**/*.h
|
||||
|
||||
UnitTests:
|
||||
- src/test/**/*
|
||||
|
||||
Documentation:
|
||||
- ./*.md
|
||||
|
||||
Bash:
|
||||
- ./*.sh
|
||||
- apps/**/*.sh
|
||||
- conf/**/*.sh
|
||||
- deps/**/*.sh
|
||||
- modules/**/*.sh
|
||||
|
||||
CMake:
|
||||
- ./*.cmake
|
||||
|
||||
Workflow:
|
||||
- .github/workflows/*
|
||||
|
||||
Batch:
|
||||
- apps/**/*.bat
|
||||
106
.github/workflows/add-to-project.yml
vendored
Normal file
106
.github/workflows/add-to-project.yml
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
name: Auto Assign to Project(s)
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened, labeled]
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
assign_one_project:
|
||||
runs-on: ubuntu-latest
|
||||
name: Assign to One Project
|
||||
steps:
|
||||
|
||||
- name: Assign issues with `ChromieCraft Generic` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, 'ChromieCraft Generic')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/20'
|
||||
|
||||
- name: Assign issues with `1-19` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '1-19')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/14'
|
||||
|
||||
- name: Assign issues with `20-29` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '20-29')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/17'
|
||||
|
||||
- name: Assign issues with `30-39` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '30-39')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/23'
|
||||
|
||||
- name: Assign issues with `40-49` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '40-49')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/24'
|
||||
|
||||
- name: Assign issues with `50-59` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '50-59')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/25'
|
||||
|
||||
- name: Assign issues with `60` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '60')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/22'
|
||||
|
||||
- name: Assign issues with `61-64` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '61-64')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/32'
|
||||
|
||||
- name: Assign issues with `65-69` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '65-69')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/36'
|
||||
|
||||
- name: Assign issues with `70` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '70')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/26'
|
||||
|
||||
- name: Assign issues with `71-74` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '71-74')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/33'
|
||||
|
||||
- name: Assign issues with `75-79` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '75-79')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/37'
|
||||
|
||||
- name: Assign issues with `80` label to their project
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: |
|
||||
contains(github.event.issue.labels.*.name, '80')
|
||||
with:
|
||||
project: 'https://github.com/azerothcore/azerothcore-wotlk/projects/38'
|
||||
|
||||
49
.github/workflows/build_dbimport.yml
vendored
Normal file
49
.github/workflows/build_dbimport.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: build-db
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master' # only default branch
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# the result of the matrix will be the combination of all attributes, so we get os*compiler*modules builds
|
||||
os: [ubuntu-20.04]
|
||||
compiler: [clang]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.compiler }}
|
||||
env:
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
cache-name: cache-db
|
||||
with:
|
||||
path: var/ccache
|
||||
key: ${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ github.ref }}-
|
||||
${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-
|
||||
${{ env.cache-name }}-${{ matrix.os }}-
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
- name: Create conf/config.sh
|
||||
run: source ./apps/ci/ci-conf-db.sh
|
||||
- name: Build
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
- name: Process pending sql
|
||||
run: bash bin/acore-db-pendings
|
||||
- name: Dry run
|
||||
run: source ./apps/ci/ci-dry-run.sh dbimport
|
||||
12
.github/workflows/check_pending_sql.yml
vendored
Normal file
12
.github/workflows/check_pending_sql.yml
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
name: Check pending SQL
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-pending-sql:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Check pending SQL
|
||||
run: source ./apps/ci/ci-pending.sh
|
||||
17
.github/workflows/codestyle.yml
vendored
Normal file
17
.github/workflows/codestyle.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: check-codestyle
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-codestyle:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-20.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
name: check codestyle
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Check core codestyle
|
||||
run: source ./apps/ci/ci-codestyle.sh
|
||||
52
.github/workflows/core_build.yml
vendored
Normal file
52
.github/workflows/core_build.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
name: main
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# the result of the matrix will be the combination of all attributes, so we get os*compiler builds
|
||||
os: [ubuntu-20.04]
|
||||
compiler: [clang]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}-${{ matrix.compiler }}
|
||||
env:
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: var/ccache
|
||||
key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}:${{ github.sha }}
|
||||
restore-keys: |
|
||||
ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}
|
||||
ccache:${{ matrix.os }}:${{ matrix.compiler }}
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
- name: Create conf/config.sh
|
||||
run: source ./apps/ci/ci-conf-core.sh
|
||||
- name: Process pending sql
|
||||
run: bash bin/acore-db-pendings
|
||||
- name: Build
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
- name: Dry run authserver
|
||||
run: source ./apps/ci/ci-dry-run.sh authserver
|
||||
- name: Dry run worldserver
|
||||
run: source ./apps/ci/ci-dry-run.sh worldserver
|
||||
- name: Check startup errors
|
||||
run: source ./apps/ci/ci-error-check.sh
|
||||
- name: Run unit tests
|
||||
run: source ./apps/ci/ci-run-unit-tests.sh
|
||||
69
.github/workflows/core_matrix_build.yml
vendored
Normal file
69
.github/workflows/core_matrix_build.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
name: core
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
types: ['labeled', 'opened', 'synchronize', 'reopened']
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# the result of the matrix will be the combination of all attributes, so we get os*compiler builds
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
compiler: clang12
|
||||
- os: ubuntu-20.04
|
||||
compiler: clang11
|
||||
- os: ubuntu-20.04
|
||||
compiler: gcc # default in 20.04 is gcc 9
|
||||
- os: ubuntu-20.04
|
||||
compiler: gcc10
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}-${{ matrix.compiler }}
|
||||
env:
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
if: |
|
||||
github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
&& !github.event.pull_request.draft
|
||||
&& (
|
||||
github.ref == 'refs/heads/master'
|
||||
|| contains(github.event.pull_request.labels.*.name, 'file-cpp'
|
||||
|| github.event.label.name == 'file-cpp'
|
||||
|| contains(github.event.pull_request.labels.*.name, 'run-build')
|
||||
|| github.event.label.name == 'run-build')
|
||||
)
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: var/ccache
|
||||
key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}:${{ github.sha }}
|
||||
restore-keys: |
|
||||
ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}
|
||||
ccache:${{ matrix.os }}:${{ matrix.compiler }}
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
- name: Create conf/config.sh
|
||||
run: source ./apps/ci/ci-conf-core.sh
|
||||
- name: Process pending sql
|
||||
run: bash bin/acore-db-pendings
|
||||
- name: Build
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
- name: Dry run authserver
|
||||
run: source ./apps/ci/ci-dry-run.sh authserver
|
||||
- name: Dry run worldserver
|
||||
run: source ./apps/ci/ci-dry-run.sh worldserver
|
||||
- name: Check startup errors
|
||||
run: source ./apps/ci/ci-error-check.sh
|
||||
- name: Run unit tests
|
||||
run: source ./apps/ci/ci-run-unit-tests.sh
|
||||
64
.github/workflows/core_modules_build.yml
vendored
Normal file
64
.github/workflows/core_modules_build.yml
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
name: core-modules-build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
types: ['labeled', 'opened', 'synchronize', 'reopened']
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build-modules:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# the result of the matrix will be the combination of all attributes, so we get os*compiler*modules builds
|
||||
os: [ubuntu-20.04]
|
||||
compiler: [clang]
|
||||
modules: [with]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.modules }}-modules
|
||||
env:
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
if: |
|
||||
github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
&& !github.event.pull_request.draft
|
||||
&& (
|
||||
github.ref == 'refs/heads/master'
|
||||
|| contains(github.event.pull_request.labels.*.name, 'file-cpp'
|
||||
|| github.event.label.name == 'file-cpp'
|
||||
|| contains(github.event.pull_request.labels.*.name, 'run-build')
|
||||
|| github.event.label.name == 'run-build')
|
||||
)
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Checkout modules
|
||||
run: ./apps/ci/ci-install-modules.sh
|
||||
if: matrix.modules == 'with'
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: var/ccache
|
||||
key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules:${{ github.ref }}:${{ github.sha }}
|
||||
restore-keys: |
|
||||
ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules:${{ github.ref }}
|
||||
ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.modules }}-modules
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
- name: Create conf/config.sh
|
||||
run: source ./apps/ci/ci-conf-core.sh
|
||||
- name: Process pending sql
|
||||
run: bash bin/acore-db-pendings
|
||||
- name: Build
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
- name: Dry run
|
||||
run: source ./apps/ci/ci-dry-run.sh worldserver
|
||||
- name: Check startup errors
|
||||
run: source ./apps/ci/ci-error-check.sh
|
||||
- name: Run unit tests
|
||||
run: source ./apps/ci/ci-run-unit-tests.sh
|
||||
34
.github/workflows/cpp-check.yml
vendored
Normal file
34
.github/workflows/cpp-check.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
name: cpp-check
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "master"
|
||||
paths:
|
||||
- src/**
|
||||
- "!README.md"
|
||||
- "!docs/**"
|
||||
pull_request:
|
||||
paths:
|
||||
- src/**
|
||||
- "!README.md"
|
||||
- "!docs/**"
|
||||
|
||||
jobs:
|
||||
cpp-check:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-22.04
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
name: cpp check
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: cpp check
|
||||
run: |
|
||||
sudo apt update -y
|
||||
sudo apt install -y cppcheck
|
||||
cppcheck --force --inline-suppr --suppressions-list=./.suppress.cppcheck src/ --output-file=report.txt
|
||||
|
||||
if [ -s report.txt ]; then # if file is not empty
|
||||
cat report.txt
|
||||
exit 1 # let github action fails
|
||||
fi
|
||||
180
.github/workflows/docker_build.yml
vendored
Normal file
180
.github/workflows/docker_build.yml
vendored
Normal file
@@ -0,0 +1,180 @@
|
||||
name: docker-build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
types: ['labeled', 'opened', 'synchronize', 'reopened']
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
docker-build-n-deploy-dev:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
os: [ubuntu-20.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
if: |
|
||||
github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
&& !github.event.pull_request.draft
|
||||
&& (github.ref == 'refs/heads/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: Extract branch name
|
||||
shell: bash
|
||||
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
id: extract_branch
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
sudo rm -rf /usr/local/lib/android
|
||||
sudo rm -rf /usr/share/dotnet
|
||||
sudo rm -rf /opt/ghc
|
||||
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
||||
docker --version
|
||||
docker compose version
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
# we need the entire history for the ac-dev-server
|
||||
# with:
|
||||
# fetch-depth: 2
|
||||
|
||||
# - name: Set up Docker Buildx
|
||||
# uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && steps.extract_branch.outputs.branch == 'master'
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Build Dev
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
env:
|
||||
#DOCKER_IMAGE_TAG: ${{ steps.extract_branch.outputs.branch }}
|
||||
DOCKER_CLIENT_TIMEOUT: 400
|
||||
COMPOSE_HTTP_TIMEOUT: 400
|
||||
run: |
|
||||
export DOCKER_USER_ID=$(id -u)
|
||||
export DOCKER_GROUP_ID=$(id -u)
|
||||
# pull the images first to load the docker cache layers
|
||||
#./acore.sh docker pull
|
||||
./acore.sh docker build
|
||||
output=$(./acore.sh version | grep "AzerothCore Rev. ") && version=${output#"AzerothCore Rev. "}
|
||||
DOCKER_IMAGE_TAG=$version docker compose --profile dev --profile local build
|
||||
|
||||
- name: Deploy Dev
|
||||
#env:
|
||||
# DOCKER_IMAGE_TAG: ${{ steps.extract_branch.outputs.branch }}
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && steps.extract_branch.outputs.branch == 'master'
|
||||
run: |
|
||||
docker compose --profile dev --profile local push
|
||||
output=$(./acore.sh version | grep "AzerothCore Rev. ") && version=${output#"AzerothCore Rev. "}
|
||||
DOCKER_IMAGE_TAG=$version docker compose --profile dev --profile local push
|
||||
|
||||
docker-build-n-deploy-prod:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
os: [ubuntu-20.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
if: |
|
||||
github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
&& !github.event.pull_request.draft
|
||||
&& (github.ref == 'refs/heads/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: Extract branch name
|
||||
shell: bash
|
||||
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
id: extract_branch
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
sudo rm -rf /usr/local/lib/android
|
||||
sudo rm -rf /usr/share/dotnet
|
||||
sudo rm -rf /opt/ghc
|
||||
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
||||
docker --version
|
||||
docker compose version
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
# we need the entire history for the ac-dev-server
|
||||
# with:
|
||||
# fetch-depth: 2
|
||||
|
||||
# - name: Set up Docker Buildx
|
||||
# uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && steps.extract_branch.outputs.branch == 'master'
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: var/docker/ccache
|
||||
key: ccache:${{ matrix.os }}:clang:without-modules:${{ github.ref }}:${{ github.sha }}
|
||||
restore-keys: |
|
||||
ccache:${{ matrix.os }}:clang:without-modules:${{ github.ref }}
|
||||
ccache:${{ matrix.os }}:clang:without-modules
|
||||
|
||||
- name: Build Production images
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
env:
|
||||
#DOCKER_IMAGE_TAG: ${{ steps.extract_branch.outputs.branch }}
|
||||
DOCKER_CLIENT_TIMEOUT: 220
|
||||
COMPOSE_HTTP_TIMEOUT: 220
|
||||
run: |
|
||||
export DOCKER_USER_ID=$(id -u)
|
||||
export DOCKER_GROUP_ID=$(id -u)
|
||||
# pull the images first to load the docker cache layers
|
||||
#./acore.sh docker prod:pull
|
||||
./acore.sh docker prod:build
|
||||
output=$(./acore.sh version | grep "AzerothCore Rev. ") && version=${output#"AzerothCore Rev. "}
|
||||
DOCKER_IMAGE_TAG=$version ./acore.sh docker prod:build
|
||||
# create the container to allow the copy right after
|
||||
docker compose create ac-build-prod
|
||||
docker compose cp ac-build-prod:/azerothcore/var/ccache var/docker/
|
||||
echo "ccache exported"
|
||||
|
||||
- name: Deploy Production images
|
||||
#env:
|
||||
# DOCKER_IMAGE_TAG: ${{ steps.extract_branch.outputs.branch }}
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && steps.extract_branch.outputs.branch == 'master'
|
||||
run: |
|
||||
docker compose --profile prod push
|
||||
output=$(./acore.sh version | grep "AzerothCore Rev. ") && version=${output#"AzerothCore Rev. "}
|
||||
DOCKER_IMAGE_TAG=$version docker compose --profile prod push
|
||||
|
||||
|
||||
dispatch-acore-docker:
|
||||
needs: [ docker-build-n-deploy-prod , docker-build-n-deploy-dev]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Extract branch name
|
||||
shell: bash
|
||||
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
|
||||
id: extract_branch
|
||||
|
||||
- name: Repository Dispatch
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && steps.extract_branch.outputs.branch == 'master'
|
||||
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 }}"}'
|
||||
49
.github/workflows/import_pending.yml
vendored
Normal file
49
.github/workflows/import_pending.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: import-pending
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
import-pending:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
runs-on: ubuntu-20.04
|
||||
permissions: write-all
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
# If we're fetching all the history in a later step it makes sense to
|
||||
# pre-load it now
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.ref_name }}
|
||||
|
||||
- uses: denoland/setup-deno@v1
|
||||
with:
|
||||
# Specifies latest 1.x
|
||||
deno-version: "~1.0"
|
||||
|
||||
- name: Import and commit pending sql
|
||||
run: |
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "github-actions[bot]"
|
||||
# Get the latest changes from git
|
||||
git pull --rebase origin "${{ github.ref_name }}"
|
||||
bash bin/acore-db-pendings
|
||||
deno run --allow-all --unstable apps/ci/ci-pending-changelogs.ts
|
||||
git add -A .
|
||||
git commit -am "chore(DB): import pending files" -m "Referenced commit(s): ${GITHUB_SHA}" || true
|
||||
env:
|
||||
# Noting that the branch name can only be master, as per the event
|
||||
# triggering this action
|
||||
BRANCH: ${{ github.ref_name }}
|
||||
|
||||
- name: Push changes
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.AC_GITHUB_TOKEN }}
|
||||
# Noting that the branch name can only be master, as per the event
|
||||
# triggering this action
|
||||
branch: ${{ github.ref_name }}
|
||||
16
.github/workflows/issue-labeler.yml
vendored
Normal file
16
.github/workflows/issue-labeler.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
name: "Issue Labeler"
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
issue_labeler:
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||
runs-on: ubuntu-latest
|
||||
name: Issue Labeler
|
||||
steps:
|
||||
- name: Issue Labeler
|
||||
id: issue-labeler
|
||||
uses: azerothcore/GitHub-Actions@issue-labeler-1.0.1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
44
.github/workflows/macos_build.yml
vendored
Normal file
44
.github/workflows/macos_build.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
name: macos-build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
types: ['labeled', 'opened', 'synchronize', 'reopened']
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
macos-build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- macos-11
|
||||
- macos-12
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}
|
||||
if: |
|
||||
github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
&& !github.event.pull_request.draft
|
||||
&& (github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'run-build') || github.event.label.name == 'run-build')
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/Library/Caches/ccache
|
||||
key: ccache:${{ matrix.os }}:${{ github.ref }}:${{ github.sha }}
|
||||
restore-keys: |
|
||||
ccache:${{ matrix.os }}:${{ github.ref }}
|
||||
ccache:${{ matrix.os }}
|
||||
- name: Install latest bash
|
||||
run: brew install bash
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
- name: Build
|
||||
run: source ./apps/ci/mac/ci-compile.sh
|
||||
- name: Run unit tests
|
||||
run: source ./apps/ci/ci-run-unit-tests.sh
|
||||
18
.github/workflows/pr_labeler.yml
vendored
Normal file
18
.github/workflows/pr_labeler.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
name: PR Labeler
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-20.04
|
||||
permissions: write-all
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: true
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
configuration-path: .github/labeler.yml
|
||||
sync-labels: true
|
||||
46
.github/workflows/tools_build.yml
vendored
Normal file
46
.github/workflows/tools_build.yml
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
name: tools
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# the result of the matrix will be the combination of all attributes, so we get os*compiler builds
|
||||
os: [ubuntu-20.04]
|
||||
compiler: [clang]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}-${{ matrix.compiler }}
|
||||
env:
|
||||
COMPILER: ${{ matrix.compiler }}
|
||||
if: github.repository == 'azerothcore/azerothcore-wotlk' && !github.event.pull_request.draft
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Cache
|
||||
uses: actions/cache@v3
|
||||
env:
|
||||
cache-name: cache-tools
|
||||
with:
|
||||
path: var/ccache
|
||||
key: ${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-${{ github.ref }}-
|
||||
${{ env.cache-name }}-${{ matrix.os }}-${{ matrix.compiler }}-
|
||||
${{ env.cache-name }}-${{ matrix.os }}-
|
||||
- name: Configure OS
|
||||
run: source ./acore.sh install-deps
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
- name: Create conf/config.sh
|
||||
run: source ./apps/ci/ci-conf-tools.sh
|
||||
- name: Build
|
||||
run: source ./apps/ci/ci-compile.sh
|
||||
|
||||
62
.github/workflows/windows_build.yml
vendored
Normal file
62
.github/workflows/windows_build.yml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: windows-build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
pull_request:
|
||||
types: ['labeled', 'opened', 'synchronize', 'reopened']
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.head_ref }} || concat(${{ github.ref }}, ${{ github.workflow }})
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
windows-build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [windows-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.os }}
|
||||
env:
|
||||
BOOST_ROOT: C:\local\boost_1_82_0
|
||||
if: |
|
||||
github.repository == 'azerothcore/azerothcore-wotlk'
|
||||
&& !github.event.pull_request.draft
|
||||
&& (github.ref == 'refs/heads/master' || contains(github.event.pull_request.labels.*.name, 'run-build') || github.event.label.name == 'run-build')
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.9
|
||||
- name: Configure OS
|
||||
shell: bash
|
||||
env:
|
||||
CONTINUOUS_INTEGRATION: true
|
||||
run: |
|
||||
./acore.sh install-deps
|
||||
- name: Process pending sql
|
||||
shell: bash
|
||||
run: bash bin/acore-db-pendings
|
||||
- name: Build
|
||||
shell: bash
|
||||
run: |
|
||||
export CTOOLS_BUILD=all
|
||||
./acore.sh compiler build
|
||||
- name: Copy dll files
|
||||
shell: bash
|
||||
run: |
|
||||
cp "/c/Program Files/OpenSSL/bin/legacy.dll" "env/dist"
|
||||
- name: Dry run authserver
|
||||
shell: bash
|
||||
run: |
|
||||
source ./apps/ci/ci-gen-server-conf-files.sh "authserver" "configs" "."
|
||||
cd env/dist
|
||||
./authserver -dry-run
|
||||
- name: Dry run worldserver
|
||||
shell: bash
|
||||
run: |
|
||||
source ./apps/ci/ci-gen-server-conf-files.sh "worldserver" "configs" "."
|
||||
cd env/dist
|
||||
./worldserver -dry-run
|
||||
- name: Stop MySQL
|
||||
run: net stop mysql
|
||||
Reference in New Issue
Block a user