Skip to content

Commit e48c092

Browse files
Add CI build and release workflows
Add GitHub Actions workflows mirroring the iOS plugin's CI setup: - build.yml: runs on PRs to main and manual dispatch, builds with ./gradlew build - release.yml: manual dispatch with version input, builds, packages addon zip, creates GitHub release Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 4889d26 commit e48c092

2 files changed

Lines changed: 84 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Build
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v5
14+
15+
- name: Set up JDK 17
16+
uses: actions/setup-java@v4
17+
with:
18+
distribution: temurin
19+
java-version: '17'
20+
21+
- name: Cache Gradle dependencies
22+
uses: actions/cache@v5
23+
with:
24+
path: |
25+
~/.gradle/caches
26+
~/.gradle/wrapper
27+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}
28+
restore-keys: |
29+
${{ runner.os }}-gradle-
30+
31+
- name: Build plugin
32+
run: ./gradlew build

.github/workflows/release.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Release
2+
run-name: Release ${{ inputs.version }}
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
version:
8+
description: 'Release version (e.g. 1.0.1)'
9+
required: true
10+
type: string
11+
12+
jobs:
13+
release:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: write
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v5
20+
21+
- name: Set up JDK 17
22+
uses: actions/setup-java@v4
23+
with:
24+
distribution: temurin
25+
java-version: '17'
26+
27+
- name: Cache Gradle dependencies
28+
uses: actions/cache@v5
29+
with:
30+
path: |
31+
~/.gradle/caches
32+
~/.gradle/wrapper
33+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}
34+
restore-keys: |
35+
${{ runner.os }}-gradle-
36+
37+
- name: Build plugin
38+
run: ./gradlew build
39+
40+
- name: Package addon zip
41+
run: |
42+
cd demo
43+
zip -r "../GodotFirebaseAndroid-${{ inputs.version }}.zip" addons/GodotFirebaseAndroid
44+
45+
- name: Create GitHub Release
46+
env:
47+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
run: |
49+
gh release create "${{ inputs.version }}" \
50+
--title "GodotFirebaseAndroid ${{ inputs.version }}" \
51+
--generate-notes \
52+
"GodotFirebaseAndroid-${{ inputs.version }}.zip"

0 commit comments

Comments
 (0)