-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4a589e8
commit cc1b7cf
Showing
5 changed files
with
142 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# These are supported funding model platforms | ||
|
||
github: [castle-engine, michaliskambi] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] | ||
patreon: castleengine # Replace with a single Patreon username | ||
open_collective: castle-engine # Replace with a single Open Collective username | ||
# ko_fi: # Replace with a single Ko-fi username | ||
# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel | ||
# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry | ||
# liberapay: # Replace with a single Liberapay username | ||
# issuehunt: # Replace with a single IssueHunt username | ||
# otechie: # Replace with a single Otechie username | ||
# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Check that GitHub Actions use latest versions of plugins. | ||
# See https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot . | ||
|
||
version: 2 | ||
updates: | ||
# Maintain dependencies for GitHub Actions | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# ---------------------------------------------------------------------------- | ||
# GitHub Actions workflow to build this application. | ||
# Using latest Castle Game Engine ( https://castle-engine.io/ ) snapshot. | ||
# For multiple platforms (Linux, Windows, macOS). | ||
# | ||
# ( Not Android -- this is a command-line tool, no automatic way | ||
# to make it usable as standalone Android app. ) | ||
# | ||
# This uses GitHub-hosted runners, that is: you don't need to set up any server | ||
# infrastructure, GitHub provides it all for free for open-source projects. | ||
# | ||
# See docs: | ||
# - https://castle-engine.io/github_actions | ||
# - https://docs.github.com/en/actions | ||
# ---------------------------------------------------------------------------- | ||
|
||
name: Build | ||
|
||
on: | ||
pull_request: | ||
# Run on push to any branch, not on tags. | ||
# Checking tags is not useful for us (we check the commit when it happened | ||
# at branch) and we would waste 2x time to update on every "snapshpt" tag change. | ||
push: | ||
branches: | ||
- '**' | ||
|
||
jobs: | ||
# Build for platforms supported by | ||
# CGE Docker image https://hub.docker.com/r/kambi/castle-engine-cloud-builds-tools/ . | ||
build-using-docker: | ||
name: Build Using Docker | ||
runs-on: ubuntu-latest | ||
container: kambi/castle-engine-cloud-builds-tools:cge-unstable | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Package Windows | ||
run: castle-engine package --os=win64 --cpu=x86_64 --verbose | ||
- name: Archive Artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: windows-build | ||
path: "*-win64-x86_64.zip" | ||
if-no-files-found: error | ||
|
||
- name: Package Linux | ||
run: castle-engine package --os=linux --cpu=x86_64 --verbose | ||
- name: Archive Artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: linux-build | ||
path: "*-linux-x86_64.tar.gz" | ||
if-no-files-found: error | ||
|
||
# Build for platforms supported from macOS. | ||
build-macos: | ||
name: Build Using macOS | ||
runs-on: macos-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install FPC+Lazarus | ||
uses: gcarreno/[email protected] | ||
with: | ||
lazarus-version: stable | ||
- name: Castle Game Engine - Env CASTLE_ENGINE_PATH | ||
run: echo "CASTLE_ENGINE_PATH=$GITHUB_WORKSPACE/castle-engine" >> $GITHUB_ENV | ||
- name: Castle Game Engine - Env PATH (non-Windows) | ||
run: echo "PATH=$PATH:$CASTLE_ENGINE_PATH/tools/build-tool/" >> $GITHUB_ENV | ||
- name: Castle Game Engine - Clone snapshot | ||
run: git clone --depth 1 --single-branch --branch snapshot https://github.com/castle-engine/castle-engine/ | ||
- name: Castle Game Engine - Build | ||
run: cd $CASTLE_ENGINE_PATH/tools/build-tool/ && ./castle-engine_compile.sh | ||
|
||
- name: Package macOS | ||
# --package-format=zip, because this is command-line app, do not make "app bundle" that CGE by default does on macOS | ||
run: castle-engine package --os=darwin --cpu=x86_64 --verbose --package-format=zip | ||
- name: Archive Artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: macos-build | ||
path: "*-darwin-x86_64.zip" | ||
if-no-files-found: error | ||
|
||
release: | ||
name: Release | ||
runs-on: ubuntu-latest | ||
# Only upload release if all builds, on all runners, succeeded. | ||
needs: [build-using-docker, build-macos] | ||
steps: | ||
- name: Download packaged releases | ||
uses: actions/download-artifact@v4 | ||
with: | ||
merge-multiple: true | ||
- name: List downloaded files | ||
run: ls -R | ||
- name: GH CLI status | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: gh auth status | ||
# Releases files in the "snapshot" release. | ||
- name: Release Artifacts | ||
if: ${{ github.ref == 'refs/heads/master' }} | ||
run: gh release --repo ${{ github.repository }} upload snapshot --clobber *.zip *.tar.gz | ||
env: | ||
GH_TOKEN: ${{ github.token }} | ||
|
||
update-release-tag: | ||
name: Update Release Tag (make snapshot tag point to the build commit on master branch) | ||
runs-on: ubuntu-latest | ||
needs: [release] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Update Release Tag | ||
if: ${{ github.ref == 'refs/heads/master' }} | ||
run: | | ||
# --force allows to overwrite previous tag | ||
git tag --force snapshot | ||
# --force allows to push with overwritten tag | ||
git push --force origin snapshot |
This file was deleted.
Oops, something went wrong.