Skip to content

Commit ce8d9c3

Browse files
committed
Initial import with local changes (restore double-halving build time etc.)
0 parents  commit ce8d9c3

4,139 files changed

Lines changed: 617948 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 1174 additions & 0 deletions
Large diffs are not rendered by default.

.gitattributes

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Enforce LF normalization on Windows
2+
*.yaml eol=lf
3+
*.lua eol=lf
4+
*.cs eol=lf
5+
*.csproj eol=lf
6+
*.sln eol=lf
7+
* text=lf
8+
9+
# Custom for Visual Studio
10+
*.cs diff=csharp

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
patreon: orahosting
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Bug report
3+
about: Report unexpected behavior or any issues you experienced in OpenRA.
4+
title: ''
5+
labels: Bug
6+
assignees: ''
7+
8+
---
9+
10+
<!-- This is a guideline that shall help you to include information we need to understand and fix the issue you experienced. Please follow the instructions and replace any placeholders that are written in capital letters. Instructions like this comment will not be visible in your report. -->
11+
12+
<!-- Important: Help us to avoid duplicates and use the search function to find existing reports for your issue. Please do not submit duplicate reports! Try to help others to find your report by using a precise title. -->
13+
14+
## Issue Summary
15+
<!-- Please provide a a clear and concise description of what the issue is below. -->
16+
17+
DESCRIPTION
18+
19+
20+
## Reproduction
21+
<!-- Please provide information about how the issue can be reproduced below. -->
22+
23+
STEPS TO REPRODUCE THE ISSUE
24+
25+
26+
## Expected behavior
27+
<!-- Please explain what you expected to happen below. -->
28+
29+
EXPECTED BEHAVIOR
30+
31+
32+
## Screenshots / Screen recordings / Replays
33+
<!-- If applicable, attach screenshots, screen recordings or replays to help explain your problem. -->

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Frequently Asked Questions
4+
url: https://github.com/OpenRA/OpenRA/wiki/FAQ#frequently-asked-questions
5+
about: Explanations for common problems and questions.
6+
- name: OpenRA Forum
7+
url: https://forum.openra.net/
8+
about: Please ask questions about modding here.
9+
- name: OpenRA Discord server
10+
url: https://discord.openra.net/
11+
about: Join the community Discord server for community discussion and support.
12+
- name: OpenRA IRC Channel
13+
url: https://web.libera.chat/#openra
14+
about: Join our development IRC channel on Libera for discussion of development topics.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Crash report
3+
about: Report a game crash. Check the FAQ first https://github.com/OpenRA/OpenRA/wiki/FAQ#common-issues
4+
title: My game crashed
5+
labels: Crash
6+
assignees: ''
7+
8+
---
9+
10+
<!-- This is a guideline that shall help you to include all the required information we depend on to investigate and fix game-breaking bugs. Please follow the instructions and replace any placeholders that are written in capital letters. Instructions like this comment will not be visible in your report. -->
11+
12+
## System Information
13+
<!-- Information about the operating system, engine version, game mod and package source are mandatory for investigating and fixing crashes. -->
14+
15+
- Operating System: OPERATING SYSTEM
16+
- OpenRA Version: ENGINE VERSION
17+
- OpenRA Mod: GAME MOD
18+
- Source: Official download package OR self-compiled OR third-party package
19+
- For self-compiled or third-party packages: Mono version
20+
21+
22+
## Exception log
23+
<!-- Please replace the placeholder below with the content of the exception.log file. The three backticks before and after the placeholder are used for formatting, so don't remove them. If you don't find the log folder consult https://github.com/OpenRA/OpenRA/wiki/FAQ#my-game-just-crashed. -->
24+
25+
```
26+
PASTE LOG HERE
27+
```
28+
29+
30+
## Replay
31+
<!-- If you have a replay file for the game that crashed, and it crashes again when you play it back, it will be a great help for us to fix the issue. Please compress the replay into a zip file and drag it here to include it in the report. -->
32+
33+
34+
## Additional information
35+
<!-- Please tell us below everything that you think is important for us to know about the crash. Specifically, what you were doing in the moment before the crash or ideally steps to reproduce it are very valuable information. -->
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Feature / Enhancement request
3+
about: Describe what you think is missing or could be improved in OpenRA.
4+
title: ''
5+
labels: Idea/Wishlist
6+
assignees: ''
7+
8+
---
9+
10+
<!-- This is a guideline that shall help you to describe your idea for a missing feature or enhancement. Please follow the instructions and replace any placeholders that are written in capital letters. Instructions like this comment will not be visible in your report. -->
11+
12+
<!-- Important: Help us to avoid duplicates and use the search function to find existing requests. Please do not submit duplicate requests! Try to help others to find your request by using a precise title. -->
13+
14+
## Motivation
15+
<!-- Please provide a clear and concise description of the motivation behind the request. If your request is related to a problem or limitation, describe it below. -->
16+
17+
REQUEST MOTIVATION
18+
19+
20+
## Proposed solution
21+
<!-- Please describe your idea and how it is intended to address the motivation of your request. Provide a clear and concise description of the proposed changes. -->
22+
23+
PROPOSED SOLUTION
24+
25+
26+
## Side effects
27+
<!-- Changes often have side effects or unintended consequences. If you expect that your solution has any side effects, please describe them below. -->
28+
29+
EXPECTED SIDE EFFECTS
30+
31+
32+
## Alternatives
33+
<!-- Please outline any alternative solutions you have considered. -->
34+
35+
ALTERNATIVES

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Thank you for your contribution to OpenRA!
2+
3+
Please be aware that we do not have enough project maintainers to match the rate of contributions, so it may take several days before somebody is able to respond to your Pull Request.
4+
5+
You can help speed up the review process by following a few steps:
6+
7+
* Make sure that you have read and understand the OpenRA Coding Standard (see https://github.com/OpenRA/OpenRA/wiki/Coding-Standard).
8+
* Write quality commit messages (see https://chris.beams.io/posts/git-commit/).
9+
* Only commit changes that directly relate to your Pull Request. Use your Git interface to unstage any unrelated changes to project files, line endings, whitespace, or other files.
10+
* Review the code diff view below to double check that your changes satisfy the above three points.
11+
* Use the `make test` and `make check` commands to check for (and fix!) any issues that are reported by our automated tests.
12+
* If you are changing shared mod or engine code, make sure that you have tested your changes in all four default mods.
13+
* Respond to review comments as soon as you reasonably can. Reviewers will usually prioritize Pull Requests that are still fresh in their minds. Make sure to leave a comment when you push new changes, otherwise GitHub does not automatically notify reviewers!
14+
* Leave a polite comment asking for reviews if a week or more has passed without feedback.
15+
16+
If you need any help you can ask on Discord (https://discord.openra.net) or in the #openra IRC channel on Libera (not as active as Discord).

.github/workflows/ci.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Continuous Integration
2+
3+
on:
4+
push:
5+
pull_request:
6+
branches: [ bleed, 'prep-*' ]
7+
8+
permissions:
9+
contents: read # to fetch code (actions/checkout)
10+
11+
jobs:
12+
linux:
13+
name: Linux (.NET 6.0)
14+
runs-on: ubuntu-22.04
15+
16+
steps:
17+
- name: Clone Repository
18+
uses: actions/checkout@v4
19+
20+
- name: Install .NET 6.0
21+
uses: actions/setup-dotnet@v4
22+
with:
23+
dotnet-version: '6.0.x'
24+
25+
- name: Check Code
26+
run: |
27+
make check
28+
make tests
29+
30+
- name: Check Mods
31+
run: |
32+
sudo apt-get install lua5.1
33+
make check-scripts
34+
make TREAT_WARNINGS_AS_ERRORS=true test
35+
36+
linux-mono:
37+
name: Linux (mono)
38+
runs-on: ubuntu-22.04
39+
40+
steps:
41+
- name: Clone Repository
42+
uses: actions/checkout@v4
43+
44+
- name: Check Code
45+
run: |
46+
mono --version
47+
make RUNTIME=mono check
48+
49+
- name: Check Mods
50+
run: |
51+
# check-scripts does not depend on .net/mono, so is not needed here
52+
make RUNTIME=mono TREAT_WARNINGS_AS_ERRORS=true test
53+
54+
windows:
55+
name: Windows (.NET 6.0)
56+
runs-on: windows-2019
57+
58+
steps:
59+
- name: Clone Repository
60+
uses: actions/checkout@v4
61+
62+
- name: Install .NET 6.0
63+
uses: actions/setup-dotnet@v4
64+
with:
65+
dotnet-version: '6.0.x'
66+
67+
- name: Check Code
68+
shell: powershell
69+
run: |
70+
# Work around runtime failures on the GH Actions runner
71+
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
72+
.\make.ps1 check
73+
.\make.ps1 tests
74+
75+
- name: Check Mods
76+
run: |
77+
choco install lua --version 5.1.5.52
78+
$ENV:Path = $ENV:Path + ";C:\Program Files (x86)\Lua\5.1\"
79+
$ENV:TREAT_WARNINGS_AS_ERRORS = "true"
80+
.\make.ps1 check-scripts
81+
.\make.ps1 test
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches: [ bleed ]
6+
tags: [ 'release-*', 'playtest-*' ]
7+
workflow_dispatch:
8+
inputs:
9+
tag:
10+
description: 'Git Tag'
11+
required: true
12+
default: 'release-xxxxxxxx'
13+
14+
permissions:
15+
contents: read # to fetch code (actions/checkout)
16+
17+
jobs:
18+
prepare:
19+
name: Prepare version strings
20+
if: github.repository == 'openra/openra'
21+
runs-on: ubuntu-22.04
22+
steps:
23+
- name: Prepare environment variables
24+
run: |
25+
if [ "${{ github.event_name }}" = "push" ]; then
26+
if [ "${{ github.ref_type }}" = "tag" ]; then
27+
VERSION_TYPE=`echo "${GITHUB_REF#refs/tags/}" | cut -d"-" -f1`
28+
echo "GIT_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
29+
echo "VERSION_TYPE=$VERSION_TYPE" >> $GITHUB_ENV
30+
else
31+
echo "GIT_TAG=bleed" >> $GITHUB_ENV
32+
echo "VERSION_TYPE=bleed" >> $GITHUB_ENV
33+
fi
34+
else
35+
VERSION_TYPE=`echo "${{ github.event.inputs.tag }}" | cut -d"-" -f1`
36+
echo "GIT_TAG=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
37+
echo "VERSION_TYPE=$VERSION_TYPE" >> $GITHUB_ENV
38+
fi
39+
outputs:
40+
git_tag: ${{ env.GIT_TAG }}
41+
version_type: ${{ env.VERSION_TYPE }}
42+
43+
wiki:
44+
name: Update Wiki
45+
needs: prepare
46+
if: github.repository == 'openra/openra' && needs.prepare.outputs.version_type != 'bleed'
47+
runs-on: ubuntu-22.04
48+
steps:
49+
- name: Debug output
50+
run: |
51+
echo ${{ needs.prepare.outputs.git_tag }}
52+
echo ${{ needs.prepare.outputs.version_type }}
53+
54+
- name: Clone Repository
55+
uses: actions/checkout@v4
56+
with:
57+
ref: ${{ needs.prepare.outputs.git_tag }}
58+
59+
- name: Install .NET 6
60+
uses: actions/setup-dotnet@v4
61+
with:
62+
dotnet-version: '6.0.x'
63+
64+
- name: Prepare Environment
65+
run: |
66+
make all
67+
68+
- name: Clone Wiki
69+
uses: actions/checkout@v4
70+
with:
71+
repository: openra/openra.wiki
72+
token: ${{ secrets.DOCS_TOKEN }}
73+
path: wiki
74+
75+
- name: Update Wiki (Playtest)
76+
if: startsWith(needs.prepare.outputs.git_tag, 'playtest-')
77+
run: |
78+
./utility.sh all --settings-docs "${{ needs.prepare.outputs.git_tag }}" > "wiki/Settings (playtest).md"
79+
80+
- name: Update Wiki (Release)
81+
if: startsWith(needs.prepare.outputs.git_tag, 'release-')
82+
run: |
83+
./utility.sh all --settings-docs "${{ needs.prepare.outputs.git_tag }}" > "wiki/Settings.md"
84+
85+
- name: Push Wiki
86+
run: |
87+
cd wiki
88+
git config --local user.email "actions@github.com"
89+
git config --local user.name "GitHub Actions"
90+
git status
91+
git diff-index --quiet HEAD || \
92+
(
93+
git add --all && \
94+
git commit -m "Update auto-generated documentation for ${{ needs.prepare.outputs.git_tag }}" && \
95+
git push origin master
96+
)
97+
98+
docs:
99+
name: Update docs.openra.net
100+
needs: prepare
101+
if: github.repository == 'openra/openra'
102+
runs-on: ubuntu-22.04
103+
steps:
104+
- name: Debug output
105+
run: |
106+
echo ${{ needs.prepare.outputs.git_tag }}
107+
echo ${{ needs.prepare.outputs.version_type }}
108+
109+
- name: Clone Repository
110+
uses: actions/checkout@v4
111+
with:
112+
ref: ${{ needs.prepare.outputs.git_tag }}
113+
114+
- name: Install .NET 6
115+
uses: actions/setup-dotnet@v4
116+
with:
117+
dotnet-version: '6.0.x'
118+
119+
- name: Prepare Environment
120+
run: |
121+
make all
122+
123+
# version_type is release/playtest/bleed - the name of the target branch.
124+
- name: Clone docs.openra.net
125+
uses: actions/checkout@v4
126+
with:
127+
repository: openra/docs
128+
token: ${{ secrets.DOCS_TOKEN }}
129+
path: docs
130+
ref: ${{ needs.prepare.outputs.version_type }}
131+
132+
- name: Generate docs files
133+
run: |
134+
./utility.sh all --docs "${{ needs.prepare.outputs.git_tag }}" | python3 ./packaging/format-docs.py > "docs/api/traits.md"
135+
./utility.sh all --weapon-docs "${{ needs.prepare.outputs.git_tag }}" | python3 ./packaging/format-docs.py > "docs/api/weapons.md"
136+
./utility.sh all --sprite-sequence-docs "${{ needs.prepare.outputs.git_tag }}" | python3 ./packaging/format-docs.py > "docs/api/sprite-sequences.md"
137+
./utility.sh all --lua-docs "${{ needs.prepare.outputs.git_tag }}" > "docs/api/lua.md"
138+
139+
- name: Update docs.openra.net
140+
run: |
141+
cd docs
142+
git config --local user.email "actions@github.com"
143+
git config --local user.name "GitHub Actions"
144+
git status
145+
git diff-index --quiet HEAD || \
146+
(
147+
git add api/*.md && \
148+
git commit -m "Update auto-generated documentation for ${{ needs.prepare.outputs.git_tag }}" && \
149+
git push origin ${{ needs.prepare.outputs.version_type }}
150+
)

0 commit comments

Comments
 (0)