Skip to content

Merge from head #4

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

Merged
merged 376 commits into from
Mar 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
376 commits
Select commit Hold shift + click to select a range
0506b23
Added speed multiplier for flying snowballs
Oct 9, 2020
8c6d055
Improved code quality in flying snowballs
Oct 9, 2020
5276be0
Adjust Level to Forest Theme
serano01 Oct 9, 2020
5436d78
Add new icon to reflect new graphics
serano01 Oct 9, 2020
069f8e2
Merge pull request #1541 from SuperTux/unrandomize_flying_badguy
serano01 Oct 10, 2020
f982c32
Cheats in editor (#1540)
Semphriss Oct 10, 2020
baf72d7
Corner-based autotile system (#1543)
Semphriss Oct 20, 2020
13ea0e8
Update info [ci skip]
serano01 Oct 21, 2020
4e51e91
Added family-name property to sprites. (#1558)
Semphriss Oct 21, 2020
b237571
CMakeLists.txt: compile squirrel with -fPIC (#1561)
ffontaine Oct 21, 2020
a769da7
Coyote time (#1563)
Semphriss Oct 22, 2020
bbaa6b4
Fixed Squirrel inheritance/multiple exposure (Will O'Wisps are back i…
Semphriss Oct 24, 2020
5d6b6b5
Add neutral sound for discovering secrets
serano01 Oct 25, 2020
1ff490d
Update AUTHORS
serano01 Oct 25, 2020
c23773a
Change soundeffect after secret area is found
serano01 Oct 25, 2020
c2c3f7c
Add Billboard as Indicator for swimming feature
serano01 Oct 25, 2020
bba9c2c
Use louder version of welldone.ogg [ci skip]
serano01 Oct 25, 2020
319b28c
Make Billboard transparent
serano01 Oct 25, 2020
1833f93
Fix Tiling Error [ci skip]
serano01 Oct 25, 2020
0922268
Reset all profiles (#1565)
Semphriss Oct 25, 2020
7be8903
Fix #1529
tobbi Oct 26, 2020
44be8d1
Support for zooming from scripting (#1560)
Semphriss Oct 26, 2020
8895e18
Worldmap updates [ci skip]
weluvgoatz Oct 27, 2020
aba81bc
Add winner levels of the contest + bonus levels
serano01 Oct 27, 2020
49fa012
New spiky sprite [ci skip]
weluvgoatz Oct 27, 2020
a2ddc67
Update credits
weluvgoatz Oct 27, 2020
2a16d7e
Delete File [ci skip]
serano01 Oct 27, 2020
510061b
Delete File [ci skip]
serano01 Oct 27, 2020
34399a5
Delete File [ci skip]
serano01 Oct 27, 2020
54025ca
Update objects.stoi
serano01 Oct 27, 2020
b8ea87c
Small Tile Improvements
serano01 Oct 27, 2020
6641f9a
Fix Tiling Error [ci skip]
serano01 Oct 27, 2020
f55f85b
Fixed many problems with the audio system (#1555 on GitHub: the coin …
Oct 28, 2020
1a1c31d
Update README.md
serano01 Oct 29, 2020
9d2a28f
Add squish-sound
serano01 Oct 31, 2020
1216c55
Spookily add new snowman sprite [Happy Halloween!]
weluvgoatz Oct 31, 2020
a58d2cd
Delete File [ci skip]
serano01 Oct 31, 2020
54b3bd9
Delete File [ci skip]
serano01 Oct 31, 2020
8031c36
Delete File [ci skip]
serano01 Oct 31, 2020
a5dee24
Delete File [ci skip]
serano01 Oct 31, 2020
7242869
Delete File [ci skip]
serano01 Oct 31, 2020
e84941e
Delete File [ci skip]
serano01 Oct 31, 2020
f477eae
Delete File [ci skip]
serano01 Oct 31, 2020
7e21230
Delete File [ci skip]
serano01 Oct 31, 2020
d373e5e
Delete File [ci skip]
serano01 Oct 31, 2020
cf8253b
Delete File [ci skip]
serano01 Oct 31, 2020
d222607
Delete File [ci skip]
serano01 Oct 31, 2020
79738b1
Delete File [ci skip]
serano01 Oct 31, 2020
16611ab
Delete File [ci skip]
serano01 Oct 31, 2020
b98e6f6
Delete File [ci skip]
serano01 Oct 31, 2020
9e13118
Delete File [ci skip]
serano01 Oct 31, 2020
92dbe3d
Delete File [ci skip]
serano01 Oct 31, 2020
cb94957
Update objects.stoi
serano01 Oct 31, 2020
085a734
Add new kamikaze snowball sprite [ci skip]
weluvgoatz Nov 2, 2020
53f92c0
Delete File [ci skip]
serano01 Nov 2, 2020
84f772b
Update objects.stoi [ci skip]
serano01 Nov 2, 2020
1703db1
Add darkstone theme [ci skip]
serano01 Nov 3, 2020
3882410
Update tiles.strf [ci skip]
serano01 Nov 3, 2020
916f8bc
Merge pull request #1569 from Semphriss/fix-coin-sound-bug
serano01 Nov 5, 2020
44adc43
Editor autosave (#1554)
Semphriss Nov 6, 2020
1de4fbd
Level Improvements [ci skip]
serano01 Nov 7, 2020
613771c
Optimized tile selection rendering (#1571)
Semphriss Nov 8, 2020
766cfca
Align selection (#1572)
Semphriss Nov 8, 2020
07648e4
Add files to reflect new sprites [ci skip]
serano01 Nov 9, 2020
8e8a46b
Tweak File to avoid hovering badguy [ci skip]
serano01 Nov 9, 2020
f257566
Level Improvements [ci skip]
serano01 Nov 9, 2020
bf4b7af
Fix Tiling Error [ci skip]
serano01 Nov 9, 2020
24d907d
Add new bouncing snowball sprite (#1573)
weluvgoatz Nov 9, 2020
6356fe9
Delete File [ci skip]
serano01 Nov 9, 2020
0d6eb7c
Delete File [ci skip]
serano01 Nov 9, 2020
672fbae
Delete File [ci skip]
serano01 Nov 9, 2020
d21b94e
Delete File [ci skip]
serano01 Nov 9, 2020
97d3d48
Delete File [ci skip]
serano01 Nov 9, 2020
235c3b2
Delete File [ci skip]
serano01 Nov 9, 2020
40d1fac
Update objects.stoi
serano01 Nov 9, 2020
836b84c
don't spawn Tux in the ground
Nov 9, 2020
f28d73b
Fix Tiling Error [ci skip]
serano01 Nov 9, 2020
ce64ede
Snapping selection: Fixer rendering offset error
Nov 9, 2020
e67f637
Fix broken paths (#1576)
Nov 9, 2020
b478804
Remove extraneous font image causing path conflict (#1585)
eric135 Nov 17, 2020
18873bc
Merge pull request #1575 from plonibarploni/patch-1
Zwatotem Nov 18, 2020
14ac958
Custom particles (#1544)
Semphriss Nov 25, 2020
caf2720
Update to GLEW 2.2.0
tobbi Nov 25, 2020
377d654
Revert "Update to GLEW 2.2.0"
tobbi Nov 25, 2020
3f6342f
Add missing include guard in gl_shader.hpp
tobbi Nov 25, 2020
3fb0d07
Added ladders (ci skip)
Nov 27, 2020
ff2c1a4
Added library install command for Ubuntu in INSTALL.MD
Semphriss Nov 28, 2020
620ee5d
Merge pull request #1589 from Semphriss/forest_worldmap
serano01 Nov 28, 2020
ef8bfff
const correctness
tobbi Nov 28, 2020
9ca5d4f
Remove Ally's level, as per request [ci skip]
weluvgoatz Nov 29, 2020
9c0842c
Remove Ally's level, as per request [ci skip]
weluvgoatz Nov 29, 2020
b6d47d6
Prevent player from falling off the screen while swimming (#1598)
Semphriss Dec 4, 2020
aba7e3a
Added some sample particles (ci skip) (#1594)
Semphriss Dec 5, 2020
d877891
Fix santa-cap sprite location
tobbi Dec 6, 2020
17108dd
Fixed snow particles scripting + menu Christmas level, plus minor gra…
Semphriss Dec 7, 2020
392320b
Added worldmap road forking, secret areas, and a semi-visible road th…
Semphriss Dec 8, 2020
43ad4ae
Refactor of the presence integration & Discord RPC (#1588)
Semphriss Dec 8, 2020
159a484
Fixed missing get_status() in particle editor for discord integration…
Dec 8, 2020
9ae23f9
Fixed a crash when opening he editor: the Integration Manager attempt…
Dec 11, 2020
24f7176
[WIP] Move to C++17 (#1602)
liz-desartiges Dec 12, 2020
cbed745
Update icons (#1604)
Semphriss Dec 12, 2020
771ba04
Code cleanup
Dec 12, 2020
fb9897b
Partly undo fix
Dec 13, 2020
56b8f86
Optimizing new icon files
Dec 13, 2020
7a73bba
Merge pull request #1606 from SuperTux/cleanup_tests
Semphriss Dec 13, 2020
f4929c7
Particle editor improvements (#1605)
Semphriss Dec 14, 2020
2cdf9f2
Revert "[WIP] Move to C++17 (#1602)": Multiple compilation and linkag…
Dec 15, 2020
60d9afb
supertux/main: add try-catch for locale initialization. (#1601)
ericonr Dec 16, 2020
b02c236
Added handler for SIGABRT in glibc-bound binaries
Dec 16, 2020
4ce1e78
More and better worldmap roads! (#1610)
Rusty-Box Dec 20, 2020
15c36b9
const correctness
tobbi Dec 20, 2020
312aa4a
Create github actions matrix build (#1613)
maths22 Dec 23, 2020
73f88ad
New crystalcave tileset by RustyBox and Alzter (#1615)
Rusty-Box Dec 23, 2020
7c2716c
Limit runs that shouldn't happen, and make PR builds not fail (#1616)
maths22 Dec 23, 2020
33af18f
Added ladders to forest world + minor decorational fixes (#1612)
Semphriss Dec 23, 2020
3b5d7e6
Update Readme to use the GitHub Actions badge
Semphriss Dec 23, 2020
22e2221
Make menu Christmas tilemap invisible by default
Dec 24, 2020
2fd5ed4
Added stats counter visible in the pause menu + when completing one o…
Dec 26, 2020
5019512
Level sats in-game: corners are rounder
Dec 26, 2020
1953e47
Added Color (with alpha) to background objects (#1621)
Semphriss Dec 27, 2020
d3dfa9a
Changed build scripts: Only one source artifact, and ci skip support …
Semphriss Dec 27, 2020
47d7215
Minor Level Ending Fix [ci skip]
serano01 Dec 28, 2020
72bfcae
Fixed bug where ScriptTrigger areas wouldn't save their name (#1622)
Semphriss Dec 28, 2020
0e35c5f
Adapt Level To New Crystal Tiles [ci skip]
serano01 Dec 28, 2020
551a0fb
Improved interface textbox control (Select everything, support for co…
Semphriss Dec 29, 2020
397ed8e
Level Improvements [ci skip]
serano01 Dec 29, 2020
41c20bb
Minor Update To The WM [ci skip]
serano01 Dec 29, 2020
81bb2ea
Merge pull request #1619 from Semphriss/progress-stats
serano01 Dec 29, 2020
2446ecd
Improved game speed scripting (#1629)
Semphriss Dec 31, 2020
1895551
Slight Improvements To The BG [ci skip]
serano01 Dec 31, 2020
24bb244
Remove Pathing Fragments [ci skip]
serano01 Jan 1, 2021
af9bbad
Let's climb that mountain crystal repair
Zwatotem Jan 3, 2021
c8dc28d
Merge pull request #1632 from Zwatotem/crystal-adjust
serano01 Jan 3, 2021
e431119
Fixed tile selection not rendering properly on tilemaps with an offse…
Semphriss Jan 10, 2021
d19a0d7
Added shadow preview for the editor rectangle fill tool (Editor tile …
Semphriss Jan 10, 2021
e99eafc
Editor Scroll Speed small tweaks (#1611)
Raoul1808 Jan 10, 2021
fd085e6
Code cleanup: Simplified cutscene text rendering (#1639)
Semphriss Jan 12, 2021
5e2dede
Wall Jumping (#1631)
weluvgoatz Jan 12, 2021
9c19e49
Removed ci skip support as it cannot be implemented properly
Jan 13, 2021
53bc095
Add miscellaneous new tiles
weluvgoatz Jan 13, 2021
f6f8567
Merge pull request #1640 from weluvgoatz/new-rock-tiles
serano01 Jan 13, 2021
e4f9154
Tweak Tileset [ci skip]
serano01 Jan 14, 2021
47f41db
Tweak Retro Snow Tileset
serano01 Jan 14, 2021
e3d4efd
Fixed tilemap tiles converted to objects (#1625)
Semphriss Jan 14, 2021
61494c5
Replace value copying with std::move and const references (#1642)
HybridDog Jan 15, 2021
cfcca6d
Update igloo pathing [ci skip]
weluvgoatz Jan 16, 2021
53ccb93
Added fade helpers to help clean code in game objects (#1641)
Semphriss Jan 17, 2021
8ad984e
Changed copyright game from 2020 to 2021
Jan 18, 2021
fc9c19e
Fix bag badguy animation (#1648)
Rusty-Box Jan 18, 2021
437a426
Fixed bug where newly created background objects would be black by de…
Jan 18, 2021
63a748c
Added FreeBSD workflow in GitHub Actions
Jan 19, 2021
fe2677b
Fixed clang 11 warnings
Jan 20, 2021
0822581
Update bsod.sprite
Rusty-Box Jan 20, 2021
191b070
Adjust bsod's squish sprite to align with hitbox
Rusty-Box Jan 20, 2021
1555506
Use proper empty sprite for retro bricks
Rusty-Box Jan 20, 2021
6d378a4
Add enhanced retro snow tileset
Rusty-Box Jan 20, 2021
e375790
Add new retro snow tiles to tiles.strf
Rusty-Box Jan 20, 2021
a378b23
Add new 19th Level [ci skip]
serano01 Jan 21, 2021
0ceca94
Merge pull request #1649 from Semphriss/bsd-ci
Semphriss Jan 21, 2021
d4c6908
Fixed bug where Block objects wouldn't save their sprite properly due…
Jan 22, 2021
2c4fcb0
Added support for getting/setting the player's position (allows fine …
Semphriss Jan 23, 2021
6deb832
Added copyright notices at the top of GitHub Actions workflow scripts
Jan 23, 2021
6fd42ce
Deletion of a reference to an old (and deleted) file about level edit…
Jan 24, 2021
dae45b8
Added usage of skippable cutscenes in cutscene levels (#1637)
Semphriss Jan 24, 2021
8696f9e
Added acknowledgements, required by some third-party libraries (#1628)
Semphriss Jan 24, 2021
6c22612
Rock tiles are no longer solid. FINALLY! (#1609)
Semphriss Jan 24, 2021
2edc75a
Code mistakes found with TscanCode (#1617)
HybridDog Jan 24, 2021
8876f9f
wiki: add a workflow to push from the real wiki to the wiki repo mirror
Mathnerd314 Jan 24, 2021
2638d5a
wiki: Try with a deploy key as the personal token doesn't seem to work
Mathnerd314 Jan 24, 2021
ec27266
wiki: try to fix key reading error
Mathnerd314 Jan 24, 2021
b2481ba
wiki: try setting the key name
Mathnerd314 Jan 24, 2021
480c72e
wiki: check if this works
Mathnerd314 Jan 24, 2021
720c00a
wiki: Fix repo URL
Mathnerd314 Jan 24, 2021
03063f6
Fix Messed Up Tiles [ci skip]
serano01 Jan 25, 2021
d716d87
Use New Stone Tiles [ci skip]
serano01 Jan 25, 2021
d86dae0
Update tiles.strf [ci skip]
serano01 Jan 25, 2021
22bd8b2
Delete bkgd.png out of images/tiles/backgrounds
Rusty-Box Jan 26, 2021
5b1763f
Add updated version of bkgd.png
Rusty-Box Jan 26, 2021
4a33045
Update tiles.strf
Rusty-Box Jan 26, 2021
1b94e18
wiki: Rebase onto changes from repo
Mathnerd314 Jan 27, 2021
dd472a4
wiki: git config user
Mathnerd314 Jan 27, 2021
99fa836
Fixed #1657 on GitHub: Tux falling when standing on a falling platfor…
Jan 27, 2021
540dfc8
Delete icecrash.ogg
windowsdylan Jan 27, 2021
8635fbb
Add files via upload
windowsdylan Jan 27, 2021
8354526
Level Improvements [ci skip]
serano01 Feb 4, 2021
ee459cc
Add Background [ci skip]
serano01 Feb 5, 2021
3962c5c
Add Backgrounds/Rework Tileset [ci skip]
serano01 Feb 5, 2021
b1145b4
Fix Minor Tiling Errors [ci skip]
serano01 Feb 5, 2021
a3b1e01
Make Rock Solid [ci skip]
serano01 Feb 5, 2021
28131a3
Make Jump Pre-Checkpoint More Easy [ci skip]
serano01 Feb 5, 2021
b26de47
Tileset Fix [ci skip]
serano01 Feb 5, 2021
e964a38
Add More Decals + Pathing Fix [ci skip]
serano01 Feb 5, 2021
ca97f98
supertux/main: Only set global locale on Windows (#1663)
shawnanastasio Feb 5, 2021
ce360de
Tilemap now uses its path properties properly - it'll save the 'runni…
Feb 6, 2021
c54014a
Merge pull request #1658 from windowsdylan/windowsdylan-patch-1
serano01 Feb 6, 2021
394ea09
Add old helicopter sprites
Rusty-Box Feb 7, 2021
dbeb484
Add more old sprites
Rusty-Box Feb 7, 2021
9c37a12
Delete coffee.png from images/powerups
Rusty-Box Feb 7, 2021
344824e
Native cusor option (#1666)
Raoul1808 Feb 10, 2021
25814cf
Cheat Menu: Set a high number of the bonus count e.g. the number of f…
HybridDog Feb 11, 2021
58be898
More fluid retro coin animation
Rusty-Box Feb 11, 2021
33e3d46
Add retro-style infoblock
Rusty-Box Feb 11, 2021
09fcc97
Merge branch 'master' into retro-snow
Rusty-Box Feb 11, 2021
c17be1d
Add Editor Image [ci skip]
serano01 Feb 11, 2021
daa6c82
Add Editor Image [ci skip]
serano01 Feb 11, 2021
0eaafc6
Add Editor Image [ci skip]
serano01 Feb 11, 2021
a4cad4c
Add Editor Image [ci skip]
serano01 Feb 11, 2021
f1f9397
Better Image Files For Certain BadGuys [ci skip]
serano01 Feb 11, 2021
236c071
Merge pull request #1668 from Rusty-Box/retro-snow
serano01 Feb 11, 2021
433592a
Revenge In Redmond level pack revamp
Rusty-Box Feb 11, 2021
dbfddd4
Delete its_been_ages.stl
Rusty-Box Feb 11, 2021
92d42ad
Delete retro_age.stl
Rusty-Box Feb 11, 2021
e4e9c9a
Delete deep_cave.stl
Rusty-Box Feb 11, 2021
45bf911
Delete nostalgia.stl
Rusty-Box Feb 11, 2021
f171043
Add missing mints reference
Rusty-Box Feb 11, 2021
3a85232
Fix broken level path of second level
Rusty-Box Feb 11, 2021
0ab8062
Merge pull request #1669 from Rusty-Box/redmond
serano01 Feb 12, 2021
dd0c460
Delete File [ci skip]
serano01 Feb 12, 2021
cdff86a
Delete File [ci skip]
serano01 Feb 12, 2021
70dc7dc
Delete File [ci skip]
serano01 Feb 12, 2021
36afff2
Delete File [ci skip]
serano01 Feb 12, 2021
66f75a5
Delete File [ci skip]
serano01 Feb 12, 2021
e23d91c
Delete File [ci skip]
serano01 Feb 12, 2021
5d25226
Delete File [ci skip]
serano01 Feb 12, 2021
0e1a014
Delete File [ci skip]
serano01 Feb 12, 2021
3c57484
Delete File [ci skip]
serano01 Feb 12, 2021
669303e
Remove unneeded decal from antarctica.stl [ci skip]
Rusty-Box Feb 12, 2021
07bab50
Fix Paths From PowerUps [ci skip]
serano01 Feb 12, 2021
9dbdb40
Fix Path Of Decal [ci skip]
serano01 Feb 12, 2021
d5f78b8
Added Windows workflow
Feb 10, 2021
2e79a44
Added Windows 32-bit workflow
Feb 14, 2021
0313640
Added release upload for Windows GitHub Actions
Feb 16, 2021
aade0ad
[QoL] Climbable small tweak (#1670)
Raoul1808 Feb 17, 2021
bfa656e
Delete File [ci skip]
serano01 Feb 17, 2021
4bdfc03
Delete File [ci skip]
serano01 Feb 17, 2021
d757587
Delete File [ci skip]
serano01 Feb 17, 2021
f79926f
Delete File [ci skip]
serano01 Feb 17, 2021
fffb494
Delete File [ci skip]
serano01 Feb 17, 2021
812aca1
Rework Sprite For Laptop [ci skip]
serano01 Feb 17, 2021
089e065
Merge pull request #1673 from Semphriss/windows-workflow
Zwatotem Feb 17, 2021
50a03f1
Added workflow for Ubuntu Touch (UBports) (#1655)
Semphriss Feb 19, 2021
25cc88c
Fixed UBports artifact path
Feb 20, 2021
2d0f1c6
Added workflow for 32-bit Linux (i386,x86) (#1675)
Semphriss Feb 20, 2021
9cc047d
Removed AppVeyor workflow CI files (replaced by GitHub Actions equiva…
Feb 20, 2021
a9821e1
Added complete scripting support for custom particles (#1633)
Semphriss Feb 21, 2021
2f46fe2
Fixed bug with cloud particles not respawning after leaving the screen
Feb 22, 2021
3baefa9
Fixed build errors
Feb 22, 2021
636a280
Removed AppVeyor badges and fixed Discord server link
Semphriss Feb 24, 2021
b0d5d6e
Discord integration will NOT be compiled by default, but nightlies an…
Feb 25, 2021
40ab22f
Fixed AppImage exec format error
Semphriss Feb 27, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 7 additions & 2 deletions .travis/build_appimage.sh → .ci_scripts/build_appimage.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
#!/bin/bash

########################################################################
# Package the binaries built on Travis-CI as an AppImage
# Package the binaries built in CI as an AppImage
# By Simon Peter 2016
# For more information, see http://appimage.org/
########################################################################

export ARCH=$(arch)

if [ $ARCH = '64' ]; then
export ARCH='x86_64';
elif [ $ARCH = '32' ]; then
export ARCH='i386';
fi

APP=SuperTux
LOWERAPP=supertux2
Expand Down
6 changes: 3 additions & 3 deletions .travis/deploy.sh → .ci_scripts/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

shopt -s nullglob

for file in s3-upload/SuperTux*; do
for file in upload/SuperTux*; do
file_base=$(basename $file)
echo "Uploading $file_base";
url="https://supertux-ci-downloads.s3-us-west-2.amazonaws.com/${TRAVIS_COMMIT}/travis/${TRAVIS_OS_NAME}/${TRAVIS_JOB_ID}/$file_base"
url="https://supertux-ci-downloads.s3-us-west-2.amazonaws.com/${PREFIX}/$file_base"
size=$(($(wc -c < "$file")))
shasum=$(shasum -a 256 "$file" | cut -d " " -f 1)
curl --data "apikey=$DOWNLOAD_APIKEY" \
--data "url=$url" \
--data "size=$size" \
--data "branch=$TRAVIS_BRANCH" \
--data "branch=$(git branch --show-current)" \
--data "shasum=$shasum" \
-L -s https://download.supertux.org/submit.php
done
22 changes: 22 additions & 0 deletions .ci_scripts/package.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/usr/bin/env bash

shopt -s nullglob

if [ "$OS_NAME" = "macos-latest" ] && [ "$PACKAGE" = "ON" ]; then
sudo chmod -R +w /usr/local/Cellar
cpack -G Bundle;
fi

# make only one source package
if [ "$OS_NAME" = "ubuntu-latest" ] && [ "$COMPILER_NAME" = "gcc" ] && [ "$BUILD_NAME" = "Debug" ] && [ "$ARCH" = "64" ] && [ "$PACKAGE" = "ON" ]; then
cpack --config CPackSourceConfig.cmake -G TGZ;
fi

if [ "$OS_NAME" = "ubuntu-latest" ] && [ "$PACKAGE" = "ON" ]; then
../.ci_scripts/build_appimage.sh
# extract built appimages for uploading
mv ~/out/* .
fi

mkdir upload
mv SuperTux* upload/
272 changes: 272 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
# SuperTux
# Copyright (C) 2020-2021 Jacob Burroughs <[email protected]>
# 2020-2021 A. Semphris <[email protected]>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

name: main
on:
push:
branches:
- master
tags:
- '*'
pull_request: {}
# TODO the glbinding build
jobs:
build-unix:

strategy:
fail-fast: false
matrix:
arch: [32, 64]
os: [ubuntu-latest, macos-latest]
compiler: [gcc, clang]
build_type: [Debug, Release]
exclude:
- os: macos-latest
compiler: gcc
- os: macos-latest
arch: 32
include:
- os: ubuntu-latest
build_type: Release
compiler: gcc
arch: 32
release: 'ON'
- os: ubuntu-latest
build_type: Release
compiler: gcc
arch: 64
release: 'ON'
- os: macos-latest
build_type: Release
release: 'ON'

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
# Fetch the whole tree so git describe works
fetch-depth: 0
submodules: true
- name: Install 64-bit linux dependencies
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch == 64 }}
run: |
sudo apt-get update
sudo apt install -y gcc-multilib g++-multilib cmake build-essential \
automake clang-6.0 g++-8 libc++-dev libogg-dev libvorbis-dev \
libopenal-dev libboost-all-dev libsdl2-dev libsdl2-image-dev \
libfreetype6-dev libharfbuzz-dev libfribidi-dev libglib2.0-dev \
gtk-doc-tools rpm sshpass libraqm-dev libglew-dev libcurl4-openssl-dev
- name: Install 32-bit linux dependencies
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch == 32 }}
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt install -y cmake build-essential automake gtk-doc-tools rpm sshpass
sudo apt install -y gcc-multilib g++-multilib libogg-dev:i386 libvorbis-dev:i386 libopenal-dev:i386 libboost-date-time-dev:i386 libboost-filesystem-dev:i386 libboost-locale-dev:i386 libsdl2-dev:i386 libsdl2-image-dev:i386 libfreetype6-dev:i386 libcurl4-openssl-dev:i386 libharfbuzz-dev:i386 libfribidi-dev:i386
# Nethier GLEW nor glbinding exist in 32-bit for Ubuntu 20.04, so snatch the debs from 16.04 instead
wget archive.ubuntu.com/ubuntu/pool/main/g/glew/libglew1.13_1.13.0-2_i386.deb && sudo dpkg -i libglew1.13_1.13.0-2_i386.deb
wget archive.ubuntu.com/ubuntu/pool/main/g/glew/libglew-dev_1.13.0-2_i386.deb && sudo dpkg -i libglew-dev_1.13.0-2_i386.deb
- name: Install macos dependencies
if: ${{ matrix.os == 'macos-latest' }}
run: |
brew install cmake bash libogg libvorbis glew openal-soft sdl2 sdl2_image sdl2_ttf \
freetype harfbuzz fribidi glib gtk-doc glbinding libraqm
# Something funky happens with freetype if mono is left
sudo mv /Library/Frameworks/Mono.framework /Library/Frameworks/Mono.framework-disabled
- name: Set compiler (gcc)
if: ${{ matrix.os == 'ubuntu-latest' && matrix.compiler == 'gcc' }}
run: |
echo "CXX=g++" >> $GITHUB_ENV
echo "CC=gcc" >> $GITHUB_ENV
- name: Set compiler (clang)
if: ${{ matrix.os == 'ubuntu-latest' && matrix.compiler == 'clang' }}
run: |
echo "CXX=clang++" >> $GITHUB_ENV
echo "CC=clang" >> $GITHUB_ENV
- name: Set compiler (macos)
if: ${{ matrix.os == 'macos-latest' }}
run: |
# This ensures for now we use clang11
# Clang12 runs into a bunch of fun with `include location '/usr/local/include' is unsafe for cross-compilation`
# that we don't care about for now
echo "CXX=clang++" >> $GITHUB_ENV
echo "CC=clang" >> $GITHUB_ENV
- name: Configure bulid
env:
BUILD_TYPE: ${{ matrix.build_type }}
ARCH: ${{ matrix.arch == 32 && '-DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32' || '' }}
run: |
cmake --version
$CXX --version
mkdir "build"
cd "build"
# TODO add -DGLBINDING_ENABLED=$USE_GLBINDING
cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${ARCH} -DENABLE_DISCORD=ON -DWARNINGS=ON -DWERROR=ON -DBUILD_TESTS=ON -DCMAKE_INSTALL_MESSAGE=NEVER -DCMAKE_INSTALL_PREFIX=/usr -DINSTALL_SUBDIR_BIN=bin -DINSTALL_SUBDIR_SHARE=share/supertux2
- name: Build and install
working-directory: build
run: |
make -j3 VERBOSE=1
make install DESTDIR="/tmp/supertux" VERBOSE=1
- name: Run tests
working-directory: build
run: ./test_supertux2
- name: Package
env:
OS_NAME: ${{ matrix.os }}
ARCH: ${{ matrix.arch }}
COMPILER_NAME: ${{ matrix.compiler }}
BUILD_NAME: ${{ matrix.build_type }}
PACKAGE: 'ON'
working-directory: build
run: ../.ci_scripts/package.sh
# Github actions is dumb and won't let you download single files from artifacts, so break up the artifacts instead
- uses: actions/upload-artifact@v2
with:
name: "${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.compiler }}-${{ matrix.build_type }}-appimage"
path: build/upload/*.AppImage
if-no-files-found: ignore
- uses: actions/upload-artifact@v2
with:
name: "source"
path: build/upload/*.tar.gz
if-no-files-found: ignore
- uses: actions/upload-artifact@v2
with:
name: "${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.build_type }}-dmg"
path: build/upload/*.dmg
if-no-files-found: ignore
- uses: shallwefootball/s3-upload-action@master
# These all have repository_owner conditions because the secret isn't available to other owners
if: matrix.release == 'ON' && env.CI_KEY != null
env:
CI_KEY: ${{ secrets.CI_DOWNLOAD_ACCESS_KEY_ID }}
with:
aws_bucket: supertux-ci-downloads
aws_key_id: ${{ secrets.CI_DOWNLOAD_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.CI_DOWNLOAD_SECRET_ACCESS_KEY }}
source_dir: 'build/upload'
destination_dir: "${{ github.sha }}/gh-actions/${{ matrix.os }}-${{ matrix.arch }}/${{ github.run_id }}"
- name: Post uploaded file
if: matrix.release == 'ON' && env.DOWNLOAD_APIKEY != null
working-directory: build
run: ../.ci_scripts/deploy.sh
env:
PREFIX: "${{ github.sha }}/gh-actions/${{ matrix.os }}-${{ matrix.arch }}/${{ github.run_id }}"
DOWNLOAD_APIKEY: ${{ secrets.DOWNLOAD_APIKEY }}
- name: Create Release
if: startsWith(github.ref, 'refs/tags/') && matrix.release == 'ON' && github.repository_owner == 'supertux'
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: 'build/upload/SuperTux-*'
draft: true

build-windows:
strategy:
fail-fast: false
matrix:
arch: [x64, x86]
build_type: [Debug, Release]
include:
- build_type: Release
release: 'ON'

runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
# Fetch the whole tree so git describe works
fetch-depth: 0
submodules: true
- name: Install dependencies
env:
ARCH: ${{ matrix.arch }}
run: |
vcpkg integrate install
vcpkg install boost-date-time:$Env:ARCH-windows
vcpkg install boost-filesystem:$Env:ARCH-windows
vcpkg install boost-format:$Env:ARCH-windows
vcpkg install boost-iostreams:$Env:ARCH-windows
vcpkg install boost-locale:$Env:ARCH-windows
vcpkg install boost-optional:$Env:ARCH-windows
vcpkg install boost-system:$Env:ARCH-windows
vcpkg install curl:$Env:ARCH-windows
vcpkg install --recurse freetype:$Env:ARCH-windows
vcpkg install glew:$Env:ARCH-windows
vcpkg install libogg:$Env:ARCH-windows
vcpkg install libraqm:$Env:ARCH-windows
vcpkg install libvorbis:$Env:ARCH-windows
vcpkg install openal-soft:$Env:ARCH-windows
vcpkg install sdl2:$Env:ARCH-windows
vcpkg install sdl2-image[libjpeg-turbo]:$Env:ARCH-windows
- name: Configure bulid
env:
BUILD_TYPE: ${{ matrix.build_type }}
ARCH: ${{ matrix.arch }}
run: |
cmake --version
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A $Env:ARCH.replace("x86", "Win32") -DENABLE_DISCORD=ON -DVCPKG_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=c:/vcpkg/scripts/buildsystems/vcpkg.cmake -DHAVE_SDL=true -DPACKAGE_VCREDIST=true -DCMAKE_BUILD_TYPE=$Env:BUILD_TYPE -DBUILD_TESTS=ON
- name: Build and install
working-directory: build
env:
BUILD_TYPE: ${{ matrix.build_type }}
run: |
cmake --build . --config $Env:BUILD_TYPE
- name: Package
working-directory: build
env:
BUILD_TYPE: ${{ matrix.build_type }}
run: |
cpack -C $Env:BUILD_TYPE
mkdir upload
mv *.msi upload/
- uses: actions/upload-artifact@v2
with:
name: "windows-${{ matrix.arch }}-${{ matrix.build_type }}-installer"
path: build/upload/*.msi
if-no-files-found: ignore
- uses: shallwefootball/s3-upload-action@master
# These all have repository_owner conditions because the secret isn't available to other owners
if: matrix.release == 'ON' && env.CI_KEY != null
env:
CI_KEY: ${{ secrets.CI_DOWNLOAD_ACCESS_KEY_ID }}
with:
aws_bucket: supertux-ci-downloads
aws_key_id: ${{ secrets.CI_DOWNLOAD_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ secrets.CI_DOWNLOAD_SECRET_ACCESS_KEY }}
source_dir: 'build/upload'
destination_dir: "${{ github.sha }}/gh-actions/windows-${{ matrix.arch }}/${{ github.run_id }}"
- name: Post uploaded file
shell: bash
if: matrix.release == 'ON' && env.DOWNLOAD_APIKEY != null
working-directory: build
run: ../.ci_scripts/deploy.sh
env:
PREFIX: "${{ github.sha }}/gh-actions/windows-${{ matrix.arch }}/${{ github.run_id }}"
DOWNLOAD_APIKEY: ${{ secrets.DOWNLOAD_APIKEY }}
- name: Create Release
if: startsWith(github.ref, 'refs/tags/') && matrix.release == 'ON' && github.repository_owner == 'supertux'
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: 'build/upload/SuperTux-*'
draft: true
Loading