Electron Builder - Nightly / Manual #1
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
name: Electron Builder - Nightly / Manual | ||
on: | ||
schedule: | ||
- cron: '0 20 * * 1,2,3' # At 8 PM UTC on Monday, Tuesday, and Wednesday which is 3 AM UTC+7 Tuesday, Wednesday, and Thursday | ||
workflow_dispatch: | ||
inputs: | ||
public_provider: | ||
type: choice | ||
description: 'Public Provider' | ||
options: | ||
- none | ||
- aws-s3 | ||
default: none | ||
pull_request_review: | ||
types: [submitted] | ||
jobs: | ||
set-public-provider: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
public_provider: ${{ steps.set-public-provider.outputs.public_provider }} | ||
ref: ${{ steps.set-public-provider.outputs.ref }} | ||
steps: | ||
- name: Set public provider | ||
id: set-public-provider | ||
run: | | ||
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then | ||
echo "::set-output name=public_provider::${{ github.event.inputs.public_provider }}" | ||
echo "::set-output name=ref::${{ github.ref }}" | ||
else | ||
if [ "${{ github.event_name }}" == "schedule" ]; then | ||
echo "::set-output name=public_provider::aws-s3" | ||
echo "::set-output name=ref::refs/heads/dev" | ||
elif [ "${{ github.event_name }}" == "push" ]; then | ||
echo "::set-output name=public_provider::aws-s3" | ||
echo "::set-output name=ref::${{ github.ref }}" | ||
elif [ "${{ github.event_name }}" == "pull_request_review" ]; then | ||
echo "::set-output name=public_provider::none" | ||
echo "::set-output name=ref::${{ github.ref }}" | ||
else | ||
echo "::set-output name=public_provider::none" | ||
echo "::set-output name=ref::${{ github.ref }}" | ||
fi | ||
fi | ||
# Job create Update app version based on latest release tag with build number and save to output | ||
get-update-version: | ||
uses: ./.github/workflows/template-get-update-version.yml | ||
build-macos: | ||
Check failure on line 50 in .github/workflows/jan-electron-build-nightly.yml GitHub Actions / Electron Builder - Nightly / ManualInvalid workflow file
|
||
uses: ./.github/workflows/template-build-macos.yml | ||
needs: [get-update-version, set-public-provider] | ||
secrets: inherit | ||
with: | ||
ref: ${{ needs.set-public-provider.outputs.ref }} | ||
public_provider: ${{ needs.set-public-provider.outputs.public_provider }} | ||
new_version: ${{ needs.get-update-version.outputs.new_version }} | ||
build-windows-x64: | ||
uses: ./.github/workflows/template-build-windows-x64.yml | ||
secrets: inherit | ||
needs: [get-update-version, set-public-provider] | ||
with: | ||
ref: ${{ needs.set-public-provider.outputs.ref }} | ||
public_provider: ${{ needs.set-public-provider.outputs.public_provider }} | ||
new_version: ${{ needs.get-update-version.outputs.new_version }} | ||
build-linux-x64: | ||
uses: ./.github/workflows/template-build-linux-x64.yml | ||
secrets: inherit | ||
needs: [get-update-version, set-public-provider] | ||
with: | ||
ref: ${{ needs.set-public-provider.outputs.ref }} | ||
public_provider: ${{ needs.set-public-provider.outputs.public_provider }} | ||
new_version: ${{ needs.get-update-version.outputs.new_version }} | ||
sync-temp-to-latest: | ||
needs: [set-public-provider, build-windows-x64, build-linux-x64, build-macos] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Sync temp to latest | ||
if: ${{ needs.set-public-provider.outputs.public_provider == 'aws-s3' }} | ||
run: | | ||
aws s3 sync s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/temp-nightly/ s3://${{ secrets.DELTA_AWS_S3_BUCKET_NAME }}/nightly/ | ||
env: | ||
AWS_ACCESS_KEY_ID: ${{ secrets.DELTA_AWS_ACCESS_KEY_ID }} | ||
AWS_SECRET_ACCESS_KEY: ${{ secrets.DELTA_AWS_SECRET_ACCESS_KEY }} | ||
AWS_DEFAULT_REGION: ${{ secrets.DELTA_AWS_REGION }} | ||
AWS_EC2_METADATA_DISABLED: "true" | ||
noti-discord-nightly-and-update-url-readme: | ||
needs: [build-macos, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, sync-temp-to-latest] | ||
secrets: inherit | ||
if: github.event_name == 'schedule' | ||
uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml | ||
with: | ||
ref: refs/heads/dev | ||
build_reason: Nightly | ||
push_to_branch: dev | ||
new_version: ${{ needs.get-update-version.outputs.new_version }} | ||
noti-discord-pre-release-and-update-url-readme: | ||
needs: [build-macos, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, sync-temp-to-latest] | ||
secrets: inherit | ||
if: github.event_name == 'push' | ||
uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml | ||
with: | ||
ref: refs/heads/dev | ||
build_reason: Pre-release | ||
push_to_branch: dev | ||
new_version: ${{ needs.get-update-version.outputs.new_version }} | ||
noti-discord-manual-and-update-url-readme: | ||
needs: [build-macos, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, sync-temp-to-latest] | ||
secrets: inherit | ||
if: github.event_name == 'workflow_dispatch' && github.event.inputs.public_provider == 'aws-s3' | ||
uses: ./.github/workflows/template-noti-discord-and-update-url-readme.yml | ||
with: | ||
ref: refs/heads/dev | ||
build_reason: Manual | ||
push_to_branch: dev | ||
new_version: ${{ needs.get-update-version.outputs.new_version }} | ||
comment-pr-build-url: | ||
needs: [build-macos, build-windows-x64, build-linux-x64, get-update-version, set-public-provider, sync-temp-to-latest] | ||
runs-on: ubuntu-latest | ||
if: github.event_name == 'pull_request_review' | ||
steps: | ||
- name: Set up GitHub CLI | ||
run: | | ||
curl -sSL https://github.com/cli/cli/releases/download/v2.33.0/gh_2.33.0_linux_amd64.tar.gz | tar xz | ||
sudo cp gh_2.33.0_linux_amd64/bin/gh /usr/local/bin/ | ||
- name: Comment build URL on PR | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
PR_URL=${{ github.event.pull_request.html_url }} | ||
RUN_ID=${{ github.run_id }} | ||
COMMENT="This is the build for this pull request. You can download it from the Artifacts section here: [Build URL](https://github.com/${{ github.repository }}/actions/runs/${RUN_ID})." | ||
gh pr comment $PR_URL --body "$COMMENT" | ||