mirror of
https://github.com/jagandeepbrar/lunasea.git
synced 2026-08-30 20:24:25 +00:00
chore(ci): build for all platforms unless platform keywords are specified
This commit is contained in:
168
.github/workflows/enable_check.yml
vendored
168
.github/workflows/enable_check.yml
vendored
@@ -1,168 +0,0 @@
|
||||
name: Enable Check
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
android:
|
||||
description: "Is Android Enabled?"
|
||||
value: ${{ jobs.android.outputs.android }}
|
||||
ios:
|
||||
description: "Is iOS Enabled?"
|
||||
value: ${{ jobs.ios.outputs.ios }}
|
||||
linux:
|
||||
description: "Is Linux Enabled?"
|
||||
value: ${{ jobs.linux.outputs.linux }}
|
||||
macos:
|
||||
description: "Is macOS Enabled?"
|
||||
value: ${{ jobs.macos.outputs.macos }}
|
||||
windows:
|
||||
description: "Is Windows Enabled?"
|
||||
value: ${{ jobs.windows.outputs.windows }}
|
||||
web:
|
||||
description: "Is Web Enabled?"
|
||||
value: ${{ jobs.web.outputs.web }}
|
||||
|
||||
jobs:
|
||||
android:
|
||||
name: Android
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
android: ${{ steps.output.outputs.enable }}
|
||||
steps:
|
||||
- name: Run Script
|
||||
id: script
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '[platform:all]' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const all = process.env.MESSAGE.includes("[platform:all]");
|
||||
const android = process.env.MESSAGE.includes("[platform:android]");
|
||||
return all || android;
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=enable::${{ steps.script.outputs.result }}"
|
||||
|
||||
ios:
|
||||
name: iOS
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
ios: ${{ steps.output.outputs.enable }}
|
||||
steps:
|
||||
- name: Run Script
|
||||
id: script
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '[platform:all]' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const all = process.env.MESSAGE.includes("[platform:all]");
|
||||
const ios = process.env.MESSAGE.includes("[platform:ios]");
|
||||
return all || ios;
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=enable::${{ steps.script.outputs.result }}"
|
||||
|
||||
linux:
|
||||
name: Linux
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
linux: ${{ steps.output.outputs.enable }}
|
||||
steps:
|
||||
- name: Run Script
|
||||
id: script
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '[platform:all]' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const all = process.env.MESSAGE.includes("[platform:all]");
|
||||
const linux = process.env.MESSAGE.includes("[platform:linux]");
|
||||
return all || linux;
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=enable::${{ steps.script.outputs.result }}"
|
||||
|
||||
macos:
|
||||
name: macOS
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
macos: ${{ steps.output.outputs.enable }}
|
||||
steps:
|
||||
- name: Run Script
|
||||
id: script
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '[platform:all]' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const all = process.env.MESSAGE.includes("[platform:all]");
|
||||
const macos = process.env.MESSAGE.includes("[platform:macos]");
|
||||
return all || macos;
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=enable::${{ steps.script.outputs.result }}"
|
||||
|
||||
windows:
|
||||
name: Windows
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
windows: ${{ steps.output.outputs.enable }}
|
||||
steps:
|
||||
- name: Run Script
|
||||
id: script
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '[platform:all]' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const all = process.env.MESSAGE.includes("[platform:all]");
|
||||
const windows = process.env.MESSAGE.includes("[platform:windows]");
|
||||
return all || windows;
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=enable::${{ steps.script.outputs.result }}"
|
||||
|
||||
web:
|
||||
name: Web
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
web: ${{ steps.output.outputs.enable }}
|
||||
steps:
|
||||
- name: Run Script
|
||||
id: script
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '[platform:all]' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const all = process.env.MESSAGE.includes("[platform:all]");
|
||||
const web = process.env.MESSAGE.includes("[platform:web]");
|
||||
return all || web;
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=enable::${{ steps.script.outputs.result }}"
|
||||
202
.github/workflows/prepare.yml
vendored
202
.github/workflows/prepare.yml
vendored
@@ -10,24 +10,153 @@ on:
|
||||
outputs:
|
||||
build-number:
|
||||
description: "Build Number"
|
||||
value: ${{ jobs.build-number.outputs.build-number }}
|
||||
value: ${{ jobs.build-details.outputs.build-number }}
|
||||
build-title:
|
||||
description: "Build Title"
|
||||
value: ${{ jobs.build-title.outputs.build-title }}
|
||||
value: ${{ jobs.build-details.outputs.build-title }}
|
||||
build-version:
|
||||
description: "Build Version"
|
||||
value: ${{ jobs.build-version.outputs.build-version }}
|
||||
value: ${{ jobs.build-details.outputs.build-version }}
|
||||
enable-android:
|
||||
description: "Is Android Enabled?"
|
||||
value: ${{ jobs.platform-list.outputs.android }}
|
||||
enable-ios:
|
||||
description: "Is iOS Enabled?"
|
||||
value: ${{ jobs.platform-list.outputs.ios }}
|
||||
enable-linux:
|
||||
description: "Is Linux Enabled?"
|
||||
value: ${{ jobs.platform-list.outputs.linux }}
|
||||
enable-macos:
|
||||
description: "Is macOS Enabled?"
|
||||
value: ${{ jobs.platform-list.outputs.macos }}
|
||||
enable-windows:
|
||||
description: "Is Windows Enabled?"
|
||||
value: ${{ jobs.platform-list.outputs.windows }}
|
||||
enable-web:
|
||||
description: "Is Web Enabled?"
|
||||
value: ${{ jobs.platform-list.outputs.web }}
|
||||
|
||||
secrets:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
build-number:
|
||||
name: Build Number
|
||||
platform-list:
|
||||
name: Platform List
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
build-number: ${{ steps.output.outputs.build-number }}
|
||||
android: ${{ steps.android.outputs.result }}
|
||||
ios: ${{ steps.ios.outputs.result }}
|
||||
linux: ${{ steps.linux.outputs.result }}
|
||||
macos: ${{ steps.macos.outputs.result }}
|
||||
windows: ${{ steps.windows.outputs.result }}
|
||||
web: ${{ steps.web.outputs.result }}
|
||||
steps:
|
||||
- name: Check Message for Any Keywords
|
||||
id: exists
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
return process.env.MESSAGE.includes("platform:");
|
||||
|
||||
- name: Android
|
||||
id: android
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
EXISTS: ${{ steps.exists.outputs.result }}
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (process.env.EXISTS == "false") return true;
|
||||
return process.env.MESSAGE.includes("platform:android");
|
||||
|
||||
- name: iOS
|
||||
id: ios
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
EXISTS: ${{ steps.exists.outputs.result }}
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (process.env.EXISTS == "false") return true;
|
||||
return process.env.MESSAGE.includes("platform:ios");
|
||||
|
||||
- name: Linux
|
||||
id: linux
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
EXISTS: ${{ steps.exists.outputs.result }}
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (process.env.EXISTS == "false") return true;
|
||||
return process.env.MESSAGE.includes("platform:linux");
|
||||
|
||||
- name: macOS
|
||||
id: macos
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
EXISTS: ${{ steps.exists.outputs.result }}
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (process.env.EXISTS == "false") return true;
|
||||
return process.env.MESSAGE.includes("platform:macos");
|
||||
|
||||
- name: Web
|
||||
id: web
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
EXISTS: ${{ steps.exists.outputs.result }}
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (process.env.EXISTS == "false") return true;
|
||||
return process.env.MESSAGE.includes("platform:web");
|
||||
|
||||
- name: Windows
|
||||
id: windows
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
EXISTS: ${{ steps.exists.outputs.result }}
|
||||
MESSAGE: ${{ github.event.head_commit.message || '' }}
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (process.env.EXISTS == "false") return true;
|
||||
return process.env.MESSAGE.includes("platform:windows");
|
||||
|
||||
- name: Log Platform List
|
||||
env:
|
||||
android: ${{ steps.android.outputs.result }}
|
||||
ios: ${{ steps.ios.outputs.result }}
|
||||
linux: ${{ steps.linux.outputs.result }}
|
||||
macos: ${{ steps.macos.outputs.result }}
|
||||
windows: ${{ steps.windows.outputs.result }}
|
||||
web: ${{ steps.web.outputs.result }}
|
||||
run: |
|
||||
echo "Android: $android"
|
||||
echo "iOS: $ios"
|
||||
echo "Linux: $linux"
|
||||
echo "macOS: $macos"
|
||||
echo "Web: $web"
|
||||
echo "Windows: $windows"
|
||||
|
||||
build-details:
|
||||
name: Build Details
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
build-number: ${{ steps.build-number.outputs.result }}
|
||||
build-title: ${{ steps.build-title.outputs.output }}
|
||||
build-version: ${{ steps.build-version.outputs.current-version }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
@@ -40,8 +169,8 @@ jobs:
|
||||
COUNT=`git rev-list HEAD --count`
|
||||
echo "::set-output name=commit_count::$COUNT"
|
||||
|
||||
- name: Run Script
|
||||
id: script
|
||||
- name: Build Number
|
||||
id: build-number
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
COUNT: ${{ steps.commit_count.outputs.commit_count }}
|
||||
@@ -52,53 +181,26 @@ jobs:
|
||||
const base = 1000000000;
|
||||
return base + Number(count);
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.script.outputs.result }}
|
||||
echo "::set-output name=build-number::${{ steps.script.outputs.result }}"
|
||||
|
||||
build-version:
|
||||
name: Build Version
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
build-version: ${{ steps.output.outputs.build-version }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Get Version
|
||||
id: version
|
||||
- name: Build Version
|
||||
id: build-version
|
||||
uses: martinbeentjes/npm-get-version-action@v1.1.0
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
run: |
|
||||
echo ${{ steps.version.outputs.current-version }}
|
||||
echo "::set-output name=build-version::${{ steps.version.outputs.current-version }}"
|
||||
|
||||
build-title:
|
||||
name: Build Title
|
||||
needs: [ build-number, build-version ]
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
build-title: ${{ steps.output.outputs.build-title }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Determine Short Hash
|
||||
id: hash
|
||||
- name: Build Title
|
||||
id: build-title
|
||||
run: |
|
||||
HASH=`git rev-parse --short ${{ github.sha }}`
|
||||
echo "::set-output name=hash::$HASH"
|
||||
|
||||
- name: Set Output
|
||||
id: output
|
||||
TITLE="v${{ steps.build-version.outputs.current-version }}-${{ inputs.flavor }}-${{ steps.build-number.outputs.result }}-$HASH"
|
||||
echo "::set-output name=output::$TITLE"
|
||||
|
||||
- name: Log Build Details
|
||||
env:
|
||||
number: ${{ steps.build-number.outputs.result }}
|
||||
title: ${{ steps.build-title.outputs.output }}
|
||||
version: ${{ steps.build-version.outputs.current-version }}
|
||||
run: |
|
||||
TITLE="v${{ needs.build-version.outputs.build-version }}-${{ inputs.flavor }}-${{ needs.build-number.outputs.build-number }}-${{ steps.hash.outputs.hash }}"
|
||||
echo $TITLE
|
||||
echo "::set-output name=build-title::$TITLE"
|
||||
echo "Build Number: $number"
|
||||
echo "Build Title: $title"
|
||||
echo "Build Version: $version"
|
||||
|
||||
generate-files:
|
||||
name: Generate Files
|
||||
|
||||
43
.github/workflows/release.yml
vendored
43
.github/workflows/release.yml
vendored
@@ -18,13 +18,8 @@ on:
|
||||
- stable
|
||||
|
||||
jobs:
|
||||
enable:
|
||||
name: Enable
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/enable_check.yml@master
|
||||
|
||||
prepare:
|
||||
name: Prepare
|
||||
needs: [ enable ]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/prepare.yml@master
|
||||
with:
|
||||
flavor: ${{ github.event.inputs.flavor || 'edge' }}
|
||||
@@ -40,8 +35,8 @@ jobs:
|
||||
|
||||
build-android:
|
||||
name: Build Android
|
||||
needs: [ enable, prepare, validate ]
|
||||
if: ${{ needs.enable.outputs.android == 'true' }}
|
||||
needs: [ prepare, validate ]
|
||||
if: ${{ needs.prepare.outputs.enable-android == 'true' }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_android.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -52,8 +47,8 @@ jobs:
|
||||
|
||||
build-ios:
|
||||
name: Build iOS
|
||||
needs: [ enable, prepare, validate ]
|
||||
if: ${{ needs.enable.outputs.ios == 'true' }}
|
||||
needs: [ prepare, validate ]
|
||||
if: ${{ needs.prepare.outputs.enable-ios == 'true' }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_ios.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -70,14 +65,14 @@ jobs:
|
||||
|
||||
build-linux:
|
||||
name: Build Linux
|
||||
needs: [ enable, prepare, validate ]
|
||||
if: ${{ needs.enable.outputs.linux == 'true' }}
|
||||
needs: [ prepare, validate ]
|
||||
if: ${{ needs.prepare.outputs.enable-linux == 'true' }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_linux.yml@master
|
||||
|
||||
build-macos:
|
||||
name: Build macOS
|
||||
needs: [ enable, prepare, validate ]
|
||||
if: ${{ needs.enable.outputs.macos == 'true' }}
|
||||
needs: [ prepare, validate ]
|
||||
if: ${{ needs.prepare.outputs.enable-macos == 'true' }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_macos.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -99,8 +94,8 @@ jobs:
|
||||
|
||||
build-web:
|
||||
name: Build Web
|
||||
needs: [ enable, prepare, validate ]
|
||||
if: ${{ needs.enable.outputs.web == 'true' }}
|
||||
needs: [ prepare, validate ]
|
||||
if: ${{ needs.prepare.outputs.enable-web == 'true' }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_web.yml@master
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
@@ -109,8 +104,8 @@ jobs:
|
||||
|
||||
build-windows:
|
||||
name: Build Windows
|
||||
needs: [ enable, prepare, validate ]
|
||||
if: ${{ needs.enable.outputs.windows == 'true' }}
|
||||
needs: [ prepare, validate ]
|
||||
if: ${{ needs.prepare.outputs.enable-windows == 'true' }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/build_windows.yml@master
|
||||
secrets:
|
||||
CODE_SIGNING_CERTIFICATE: ${{ secrets.CODE_SIGNING_CERTIFICATE }}
|
||||
@@ -120,18 +115,18 @@ jobs:
|
||||
|
||||
publish:
|
||||
name: Publish
|
||||
needs: [ enable, prepare, build-android, build-ios, build-linux, build-macos, build-web, build-windows ]
|
||||
needs: [ prepare, build-android, build-ios, build-linux, build-macos, build-web, build-windows ]
|
||||
if: ${{ always() }}
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/publish.yml@master
|
||||
with:
|
||||
flavor: ${{ github.event.inputs.flavor || 'edge' }}
|
||||
build-title: ${{ needs.prepare.outputs.build-title }}
|
||||
enable-android: ${{ needs.enable.outputs.android }}
|
||||
enable-ios: ${{ needs.enable.outputs.ios }}
|
||||
enable-linux: ${{ needs.enable.outputs.linux }}
|
||||
enable-macos: ${{ needs.enable.outputs.macos }}
|
||||
enable-web: ${{ needs.enable.outputs.web }}
|
||||
enable-windows: ${{ needs.enable.outputs.windows }}
|
||||
enable-android: ${{ needs.prepare.outputs.enable-android }}
|
||||
enable-ios: ${{ needs.prepare.outputs.enable-ios }}
|
||||
enable-linux: ${{ needs.prepare.outputs.enable-linux }}
|
||||
enable-macos: ${{ needs.prepare.outputs.enable-macos }}
|
||||
enable-web: ${{ needs.prepare.outputs.enable-web }}
|
||||
enable-windows: ${{ needs.prepare.outputs.enable-windows }}
|
||||
|
||||
secrets:
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
|
||||
Reference in New Issue
Block a user