Skip to content

Actions rebased #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 34 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
623cb71
print commmands with -hb/-hc
stm2 Aug 13, 2020
bb8d3a1
fixed help (-R)
stm2 Aug 14, 2020
b5adbc8
added missing items and fixed English item names
stm2 Aug 13, 2020
9f80d4d
BREED is actually called GROW
stm2 Aug 13, 2020
6fd1a6d
message spelling fixed
stm2 Aug 17, 2020
e77728b
fixed English herb names
stm2 Aug 13, 2020
5981477
removed BELAGERE
stm2 Aug 14, 2020
a471368
removed deprecated commands
stm2 Aug 14, 2020
98f8237
fixed options
stm2 Aug 14, 2020
fb5129a
check ZERSTOERE
stm2 Aug 13, 2020
a21fcd8
HELP FIGHT, FACTIONSTEALTH not for e3
stm2 Aug 14, 2020
3223ea2
E3 races
stm2 Aug 14, 2020
f6e9095
fixed e3 files
stm2 Aug 14, 2020
eb99560
small adjustments
stm2 Aug 17, 2020
495013a
refactored testing, check CLAIM order parameters
stm2 Aug 15, 2020
65c3710
tests for e3, ALLIANZ
stm2 Aug 16, 2020
58be0a1
warn of too many parameters
stm2 Aug 16, 2020
9a2a62d
check PFLANZE
stm2 Aug 17, 2020
3be73b5
handle single quotes and quotes within quotes (partially)
stm2 Aug 17, 2020
d452782
check SPRACHE
stm2 Aug 17, 2020
1181b98
tweaks
stm2 Aug 20, 2020
2b1d245
fixed https://bugs.eressea.de/view.php?id=2555
stm2 Aug 20, 2020
9244f51
fixed https://bugs.eressea.de/view.php?id=2641
stm2 Aug 21, 2020
ef38813
added Steinkreis
stm2 Aug 21, 2020
a210756
fixed https://bugs.eressea.de/view.php?id=2547
stm2 Aug 21, 2020
b7441d2
fixed https://bugs.eressea.de/view.php?id=2522
stm2 Aug 21, 2020
9977e26
check for missing order start / accidental NEXT
stm2 Aug 21, 2020
1caca0c
fixed missing message, (wrong) caravanserei spelling, -P option
stm2 Aug 21, 2020
0cbe483
okay, server accepts PARTEI x "pw" as order start
stm2 Aug 22, 2020
2a10ce2
fixed whitespace errors
stm2 Aug 22, 2020
e917ef1
check LOCALE mismatch
stm2 Aug 23, 2020
2c3eb45
test actions
stm2 Aug 25, 2020
a37f5e2
fixed a few memory leaks
stm2 Aug 29, 2020
2574c6f
tests for breed
stm2 Aug 29, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 150 additions & 0 deletions .github/workflows/distribute-latest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: Automatic build and release
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

github workflows scheint mir ein neues feature zu sein, das ich gerne als eigenen PR gesehen hätte, und deshalb heute überspringe.


on:
push:
branches: [ master ]

jobs:
build_win:
name: Build for Windows
runs-on: windows-latest

steps:
- uses: actions/checkout@v2

- name: make
run: |
make test
make clean
make echeck

- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: binaries.win
# note: mingw gcc appears to ignore -o option
path: echeck.exe

build_mac:
name: Build for MacOS
runs-on: macOS-latest

steps:
- uses: actions/checkout@v2
- name: make
run: |
make test
make clean
make echeck

- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: binaries.mac
path: echeck

build_nix:
name: Build and zip
needs: [ build_win, build_mac ]
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
# get all tags
fetch-depth: 0
- name: make
run: |
make test
make clean
make echeck

- name: configure tag
run: |
VERSION=$(grep echeck_version echeck.c | head -1 | cut -f2 -d'"')
if [[ ! "${VERSION}" =~ ^[0-9][.][0-9]+[.][0-9]+$ ]]; then
echo "version tag X.Y.Z not found: $VERSION"
exit 1
fi
LASTTAG=$(git tag -l "v*" --sort='-committerdate' | head -1)
if [[ ! "${LASTTAG}" =~ ^v[0-9][.][0-9]+[.][0-9]+$ ]]; then
echo "last tag vX.Y.Z not found: $LASTTAG"
exit 1
fi
VTAG=$(git tag -l "v$VERSION")

echo "latest tag: $LASTTAG, current version: $VERSION, existing tag: $VTAG"

git config user.name "$GITHUB_ACTOR"
git config user.email "[email protected]"
git remote -v
REMOTE="https://$GITHUB_ACTOR:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY.git"

if [[ "v$VERSION" != "$LASTTAG" && "$VTAG" == "" ]]; then
# create new tag and release draft
TAG="v$VERSION"
name="Release $VERSION"
body="Dies ist ein stabiles Release. Diese Beschrebung solle geändert werden.\n\nThis is a stable release draft. This description should be updated.\n\n$date"
draft=true
prerelease=false

git tag "$TAG"
git push "$REMOTE" "$TAG"
elif [[ "$VTAG" != "" && "$VTAG" == "v$VERSION" ]]; then
# update vX.Y-latest tag and prerelease
draft=false
prerelease=true
name="Pre-Release $VERSION"
body="Dies ist eine automatisch generierte Version mit den neuesten Änderungen. Sie kann eher Fehler enthalten als eine stabile Version.\n\nThis is an automatic release of the latest version. It is less safe to use than a stable version.\n\n$date"
short=$(echo "${VERSION}" | cut -d. -f-2)
TAG="${short}-latest"

git tag -f "$TAG"
git push --force "$REMOTE" "$TAG"
else
echo "not creating any release"
draft=
prerelease=
fi

body="${body//'%'/'%25'}"
body="${body//'\n'/'%0A'}"
body="${body//'\r'/'%0D'}"

echo "::set-env name=PRERELEASE::$prerelease"
echo "::set-env name=DRAFT::$draft"
echo "::set-env name=VERSION::$VERSION"
echo "::set-env name=TAG::$TAG"
echo "::set-env name=NAME::$name"
echo "::set-env name=BODY::$body"

- name: Download all binaries
uses: actions/download-artifact@v2

- name: Create zip
run: |
mv binaries.mac/echeck ./echeck.macos
mv binaries.win/echeck.exe ./echeck.exe
zip -r echeck.zip echeck echeck.macos echeck.exe e2 e3 changelog.txt LIESMICH.txt README.txt

- name: Upload zip artifact
uses: actions/upload-artifact@v2
with:
name: release
path: echeck.zip

- name: Create release
uses: meeDamian/[email protected]
if: env.PRERELEASE != '' && env.DRAFT != ''
with:
prerelease: ${{ env.PRERELEASE }}
draft: ${{ env.DRAFT }}
allow_override: true
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ env.TAG }}
# commitish: ${{ github.ref }}
name: ${{ env.NAME }}
body: ${{ env.BODY }}
gzip: folders
files: >
echeck.zip
15 changes: 10 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
MINGW_STRIP = i686-w64-mingw32-strip
MINGW_CC = i686-w64-mingw32-gcc
GCC = gcc
CFLAGS = -Wall -std=c99 -Werror -I.
RELEASE_CFLAGS = $(CFLAGS) -Os
DEBUG_CFLAGS = $(CFLAGS) -g
Expand Down Expand Up @@ -31,14 +32,18 @@ echeck.exe: echeck.c unicode.c unicode.h config.h
$(MINGW_CC) $(RELEASE_CFLAGS) -o echeck.exe echeck.c unicode.c
$(MINGW_STRIP) echeck.exe

echeck: echeck.c unicode.c unicode.h config.h $(TEST_SRC) $(TEST_HDR)
$(CC) $(DEBUG_CFLAGS) -DWITH_CUTEST -o echeck echeck.c unicode.c $(TEST_SRC)
echeck.dbg: echeck.c unicode.c unicode.h config.h $(TEST_SRC) $(TEST_HDR)
$(GCC) $(DEBUG_CFLAGS) -DWITH_CUTEST -o echeck.dbg echeck.c unicode.c $(TEST_SRC)

echeck: echeck.c unicode.c unicode.h config.h
$(GCC) $(RELEASE_CFLAGS) -o echeck echeck.c unicode.c

clean:
@rm -f *.o core *.bak echeck echeck.exe echeck.zip
@rm -f *.o core *.bak echeck echeck.dbg echeck.exe echeck.zip

test: echeck
@./echeck -T=all -Lde -Re2 -b
test: echeck.dbg
@./echeck.dbg -T=all -Lde -Re3 -b
@./echeck.dbg -T=all -Lde -Re2 -b

echeck.zip: echeck.exe changelog.txt LIESMICH.txt README.txt
zip -r echeck.zip echeck.exe e2 e3 changelog.txt LIESMICH.txt README.txt
1 change: 1 addition & 0 deletions e2/de/buildings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ Damm
Karawanserei
Tunnel
Taverne
Steinkreis
13 changes: 9 additions & 4 deletions e2/de/commands.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,22 @@ BREED, Züchten
ORIGIN, Ursprung
EMAIL, Email
RESERVE, Reservieren
CLAIM, Beanspruchen
CLAIM, Beanspruchen
BANNER, Banner
NUMBER, Nummer
SCHOOL, Magiegebiet
PIRACY, Piraterie
RESTART, Neustart
GROUP, Gruppe
SORT, Sortieren
PREFIX, Präfix
PROMOTION, Beförderung
PROMOTE, Befördere
PROMOTE, Befördere
LANGUAGE, Sprache
ORDERSTART, Eressea
ORDERSTART, Partei
NEXT, Nächster
LOCALE, Locale
UNIT, Einheit
REGION, Region

# NEXT, Nächster ist KEIN BEFEHL für ECheck, sondern ein PARAMETER!
# dies ist aus internen Gründen notwendig, also entsprechend dort eintragen
Expand Down
6 changes: 5 additions & 1 deletion e2/de/help.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

CAPTION, ECheck (Version %s, %s), Zug-Checker für Eressea - Freeware!\n\nBenutzung: %s [Optionen] Befehlsdatei\n\n
PATH, -Ppfad Pfadangabe für die Zusatzdateien; das Locale %s wird angehängt
TEXT, -Rgame Zusatzdateien aus Unterverzeichnis game einlesen; Standardeinstellung: e2
TEXT, - Verwendet stdin anstelle einer Eingabedatei.
TEXT, -b unterdrückt Warnungen und Fehler (brief)
TEXT, -q erwartet keine Angaben zu Personen/Silber in [] bei EINHEIT
Expand All @@ -35,7 +36,10 @@ TEXT, -noxxx Keine xxx-Warnungen. xxx kann sein:
TEXT, ship Einheit steuert Schiff und hat evtl. kein Kommando
TEXT, route kein Check auf zyklisches ROUTE
TEXT, lost Einheit verliert Silber und Gegenstände
TEXT, -w[n] Warnungen der Stufe n (default: 4=alle Warnungen)
TEXT, -w[n] Warnungen der Stufe n (default: 4)
TEXT, 1 hauptsächlich Syntaxfehler
TEXT, 4 fast alle Warnungen
TEXT, 5 Lehrer/Schüler
TEXT, -x Zeilenzählung ab PARTEI statt Dateianfang
TEXT, -Lloc Stellt Locale loc ein
TEXT, -vm.l Mainversion.Level - für Test, ob richtige ECheck-Version
Expand Down
19 changes: 16 additions & 3 deletions e2/de/items.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,16 @@ Schwert; Schwerter
Speer; Speere
Armbrust; Armbrüste
Mallornspeer; Mallornspeere
Mallornlanze; Mallornlanzen
Mallornarmbrust; Mallornarmbrüste
Mallornbogen; Mallornbögen
Samen; Samen
Mallornsamen; Mallornsamen
Bogen; Bögen
#Langbogen; Langbögen
Kettenhemd; Kettenhemden
Plattenpanzer; Plattenpanzer
Bihänder; Bihänder
#Zweihänder
Kriegsaxt; Kriegsäxte
#Axt; Äxte
Elfenbogen; Elfenbögen
Laenschwert; Laenschwerter
Laenschild; Laenschilde
Expand All @@ -53,11 +52,25 @@ Katapultmunition; Katapultmunition
Adamantium; Admantium
Adamantiumaxt; Admantiumäxte
Adamantiumrüstung; Adamantiumrüstungen
Schartiges Schwert; Schartige Schilde
Rostiger Zweihänder; Rostige Zweihänder
Rostige Kriegsaxt; Rostige Kriegsäxte
Rostige Hellebarde; Rostige Hellebarden
Rostiger Schild; Rostige Schilde
Rostiges Kettenhemd; Rostige Kettenhemden
Sonnensegel; Sonnensegel
Schneekugel; Schneekugeln
Schneemann; Schneemänner
Weihnachtsbaum; Weihnachtsbäume
Sternenstaub; Sternenstaub
Flammenschwert; Flammenschwerter
Runenschwert; Runenschwerter
Amulett des Wahren Sehens; Amulette des Wahren Sehens
Ring der Flinken Finger, Ringe der Flinken Finger
Ring der Macht, Ringe der Macht
Ring der Unsichtbarkeit; Ringe der Unsichtbarkeit
Magischer Kräuterbeutel; Magische Kräuterbeutel
Zauberbeutel; Zauberbeutel

# So, das waren die offiziellen Items; diese Liste sollte man nicht ändern,
# wenn man auf das Ergebnis von ECheck Wert legt...
Expand Down
19 changes: 12 additions & 7 deletions e2/de/messages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

0PERSONSLEARN, Einheit %s hat 0 Personen und wird von Einheit
0PERSONSTEACH, Einheit %s hat 0 Personen und lehrt Einheit
1ATTACKPERUNIT, Pro Einheit muß ein ATTACKIERE-Befehl gegeben werden
1CARRYPERUNIT, Pro Einheit muß ein TRANSPORTIERE-Befehl gegeben werden
1ATTACKPERUNIT, Pro Einheit muss ein ATTACKIERE-Befehl gegeben werden
1CARRYPERUNIT, Pro Einheit muss ein TRANSPORTIERE-Befehl gegeben werden
1PERSONPERMAGEUNIT, Magiereinheiten dürfen nur eine Person haben
ACTIVATED, ~aktiviert.
ALREADYUSEDINLINE, "TEMP %s" wurde in Zeile %d schon gebraucht
Expand All @@ -37,9 +37,10 @@ CANTMAINTAINBUILDING, Einheit %s kann ein Gebäude nicht erhalten, es fehlen noc
CANTMAKETHAT, Sowas kann man nicht machen
CANTREADFILE, Kann Datei '%s' nicht lesen\n
CANTRENAMEOBJECT, Objekt kann nicht umbenannt werden
CHECKYOURORDERS, \nBitte überprüfe, ob Du die Befehle korrekt eingesandt hast.\nBeachte dabei besonders, daß die Befehle nicht als HTML, Word-Dokument\noder als Attachment (Anlage) eingeschickt werden dürfen.\n
CHECKYOURORDERS, \nBitte überprüfe, ob du die Befehle korrekt eingesandt hast.\nBeachte dabei besonders, dass die Befehle nicht als HTML, Word-Dokument\noder als Attachment (Anlage) eingeschickt werden dürfen.\n
COMBATSPELLSET, Kampfzauber gesetzt
DELIVERYTO, ; Zustellung an
DELIVERYTO, ; Zustellung an
DESTROYNOSTREET, nur ZERSTOERE oder ZERSTOERE STRASSE sind erlaubt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dafür wünsche ich mir ich einen neuen PR, der mit dem neuen gettext Code funktioniert.

DIRECTION, <richtung>
DISCOVERED, ~entdeckt.\n
DOESNTCARRY, Einheit %s fährt mit Einheit %s, diese transportiert aber nicht
Expand All @@ -51,11 +52,11 @@ ERRORHELP, Helfe-Status falsch
ERRORINLINE, Fehler in Zeile
ERRORLEVELPARAMETERS, Fehler bei STUFE-Parameter
ERRORNAMEFOREIGN, BENENNE FREMD nicht mit %s
ERROROPINION, Nummer der Meinung muß größer 0 sein
ERROROPINION, Nummer der Meinung muss größer 0 sein
ERRORREGION, REGION fehlerhaft
ERRORREGIONPARAMETER, Fehler bei REGION-Parameter
ERRORSPELLSYNTAX, [ ] und < > dürfen nicht mit eingegeben werden!
ERRORSURVEY, Nummer der Umfrage muß größer 0 sein
ERRORSURVEY, Nummer der Umfrage muss größer 0 sein
FACTION0USED, Partei 0 verwendet
FACTIONINVALID, Partei "%s" ungültig
FACTIONMISSING, Partei fehlt
Expand All @@ -73,6 +74,7 @@ ISUSEDIN2REGIONS, "TEMP %s" wird in Region %d,%d und Region %d,%d (Zeile %d) geb
ISNOTCOMBATSPELL, k
ITEM, Gegenstand
LINETOOLONG, Zeile zu lang
LOCALEMISMATCH, Locales '%s' von ECheck und '%s' der Befehle passen nicht zusammen
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

commit wegen Einführung von neuer Message vorerst nicht integriert.

LONGCOMBATNOLONGORDER, Längere Kämpfe schließen den langen Befehl aus
LONGORDERMISSING, Einheit %s hat keinen langen Befehl bekommen
MAGIC, Magie
Expand All @@ -92,9 +94,10 @@ MISSINGNUMRECRUITS, Anzahl Rekruten fehlt
MISSINGOFFER, Geldgebot fehlt
MISSINGPARAMETERS, Parameter STUFE oder REGION fehlt
MISSINGPASSWORD, Kein Passwort angeben
MISSINGSTART, ERESSEA partei-nummer "Passwort" fehlt oder versehentliches NAECHSTER!
MISSINGUNITNUMBER, Keine Einheitsnummer
MOVENOTPOSSIBLEWITHPAUSE, NACH geht nicht mit PAUSE
MSGTO, BOTSCHAFT AN PARTEI, BOTSCHAFT AN EINHEIT oder BOTSCHAFT AN REGION
MSGTO, BOTSCHAFT PARTEI, BOTSCHAFT EINHEIT oder BOTSCHAFT REGION
NAMECONTAINSBRACKETS, Namen dürfen keine Klammern enthalten
NEEDBOTHCOORDINATES, Beide Koordinaten müssen angegeben werden
NOCARRIER, Kann zu transportierende Einheit nicht ermitteln
Expand All @@ -109,6 +112,7 @@ NOTEXT, Kein Text
NOTFOUND, nicht gefunden
NTOOBIG, Zahl zu groß
NUMBER0SENSELESS, Anzahl 0 macht keinen Sinn
NUMBEREXPECTED, Zahl erwartet
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auch hier wünsche ich mir einen neuen PR, weil cherry-picking nicht mehr möglich ist.

NUMBERNOTPOSSIBLE, Anzahl hier nicht möglich
NUMCASTLEMISSING, Nummer der Burg fehlt
NUMLUXURIESMISSING, Anzahl Luxusgüter fehlt
Expand Down Expand Up @@ -149,6 +153,7 @@ TEMPUNITSCANTRESERVE, TEMP-Einheiten können nichts reservieren! Bitte GIB benut
TEMPUNITSCANTGIVE, TEMP-Einheiten können nichts übergebenen! Befehlsreihenfolge beachten!
TEXTTOOLONG, Text zu lang (max. %d)
THERE, Es
TOOMANYPARAMETERS, Zu viele Parameter
UNIT, Einheit
UNITS, Einheiten
UNIT0NOTPOSSIBLE, Einheit 0 bzw. Bauern geht hier nicht
Expand Down
6 changes: 2 additions & 4 deletions e2/de/options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ Computer
Statistik
Zipped
Zugvorlage
Silberpool
Materialpool
Adressen
Bzip2
punkte
talentverschiebung
Punkte
Talentverschiebung
7 changes: 1 addition & 6 deletions e2/de/parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,8 @@ AGGRESSIVE, aggressiv
DEFENSIVE, defensiv
CONTROL, Kommando
HERBS, Kräuter
TREES, Bäume
NOT, Nicht

NEXT, Nächster
# ^^ muß hier als Parameter stehen!

FACTION, Eressea
FACTION, Partei
PERSON, Personen
REGION, Region
Expand All @@ -48,7 +44,6 @@ HORSES, Pferde
FOREIGN, fremdes
NUMBER, Nummer
# ^^ TARNE PARTEI NUMMER
LOCALE, Locale

BEFORE, vor
AFTER, hinter
Expand Down
2 changes: 2 additions & 0 deletions e2/de/potions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ Wasser des Lebens
Wundsalben
Lerntrank
Lerntränke
Talenttrunk
Talenttrünke
Loading