diff --git a/.github/workflows/prepare_channels.yml b/.github/workflows/prepare_channels.yml index 66158403..01920a9d 100644 --- a/.github/workflows/prepare_channels.yml +++ b/.github/workflows/prepare_channels.yml @@ -9,17 +9,20 @@ on: outputs: android: - description: "Android Deployment Channel" + description: "Android Deployment Channel (Track)" value: ${{ jobs.android.outputs.output1 }} ios: - description: "iOS Deployment Channel" + description: "iOS Deployment Channel (Group)" value: ${{ jobs.ios.outputs.output1 }} linux: - description: "Linux Deployment Channel" + description: "Linux Deployment Channel (Channel)" value: ${{ jobs.linux.outputs.output1 }} macos: - description: "macOS Deployment Channel" + description: "macOS Deployment Channel (Group)" value: ${{ jobs.macos.outputs.output1 }} + web: + description: "Web Deployment Channel (Site ID)" + value: ${{ jobs.web.outputs.output1 }} jobs: android: @@ -137,3 +140,32 @@ jobs: run: | echo ${{ steps.script.outputs.result }} echo "::set-output name=channel::${{ steps.script.outputs.result }}" + + web: + name: Web + runs-on: ubuntu-latest + outputs: + output1: ${{ steps.output.outputs.channel }} + steps: + - name: Run Script + id: script + uses: actions/github-script@v6 + env: + FLAVOR: ${{ inputs.ref }} + with: + result-encoding: string + script: | + const ref = process.env.FLAVOR || "edge"; + switch (ref) { + case "beta": return "11ef2676-fc31-41b5-897b-fd21273d87ed"; + case "candidate": return "4636e6a1-17ef-45a2-a2b6-3d1c166fd1df"; + case "stable": return "6634f0b1-323c-4a2f-bd0b-8f1f388673a9"; + case "edge": + default: return "325e197e-55f4-449a-b2bb-6831fe47bf2a"; + } + + - name: Set Output + id: output + run: | + echo ${{ steps.script.outputs.result }} + echo "::set-output name=channel::${{ steps.script.outputs.result }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c1dede6f..d464fcd8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -60,8 +60,8 @@ jobs: needs: [ prepare_build, prepare_channels, validate ] uses: JagandeepBrar/LunaSea/.github/workflows/release_android.yml@master with: - build_flavor: ${{ needs.prepare_build.outputs.build_flavor }} - build_number: ${{ needs.prepare_build.outputs.build_number }} + build_flavor: ${{ needs.prepare_build.outputs.flavor }} + build_number: ${{ needs.prepare_build.outputs.number }} channel: ${{ needs.prepare_channels.outputs.android }} secrets: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} @@ -75,8 +75,8 @@ jobs: needs: [ prepare_build, prepare_channels, validate ] uses: JagandeepBrar/LunaSea/.github/workflows/release_ios.yml@master with: - build_flavor: ${{ needs.prepare_build.outputs.build_flavor }} - build_number: ${{ needs.prepare_build.outputs.build_number }} + build_flavor: ${{ needs.prepare_build.outputs.flavor }} + build_number: ${{ needs.prepare_build.outputs.number }} channel: ${{ needs.prepare_channels.outputs.ios }} secrets: APPLE_ID: ${{ secrets.APPLE_ID }} @@ -98,8 +98,8 @@ jobs: needs: [ prepare_build, prepare_channels, validate ] uses: JagandeepBrar/LunaSea/.github/workflows/release_macos.yml@master with: - build_flavor: ${{ needs.prepare_build.outputs.build_flavor }} - build_number: ${{ needs.prepare_build.outputs.build_number }} + build_flavor: ${{ needs.prepare_build.outputs.flavor }} + build_number: ${{ needs.prepare_build.outputs.number }} channel: ${{ needs.prepare_channels.outputs.macos }} secrets: APPLE_ID: ${{ secrets.APPLE_ID }} @@ -119,11 +119,12 @@ jobs: web: name: Web needs: [ prepare_build, prepare_channels, validate ] - if: ${{ needs.prepare.outputs.build_flavor == 'edge' }} uses: JagandeepBrar/LunaSea/.github/workflows/release_web.yml@master with: - build_flavor: ${{ needs.prepare_build.outputs.build_flavor }} - build_number: ${{ needs.prepare_build.outputs.build_number }} + build_flavor: ${{ needs.prepare_build.outputs.flavor }} + build_number: ${{ needs.prepare_build.outputs.number }} + channel: ${{ needs.prepare_channels.outputs.web }} secrets: DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }} + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} diff --git a/.github/workflows/release_web.yml b/.github/workflows/release_web.yml index 8293db41..9ca9ac99 100644 --- a/.github/workflows/release_web.yml +++ b/.github/workflows/release_web.yml @@ -9,12 +9,17 @@ on: build_number: required: true type: string + channel: + required: true + type: string secrets: DISCORD_WEBHOOK: required: true FIREBASE_OPTIONS: required: true + NETLIFY_AUTH_TOKEN: + required: true jobs: build: @@ -89,12 +94,11 @@ jobs: name: web-${{ inputs.build_flavor }}-${{ github.sha }} path: ${{ github.workspace }}/build/web - - name: Deploy to GitHub Pages - uses: JamesIves/github-pages-deploy-action@v4.2.5 + - name: Deploy to Netlify + uses: nwtgck/actions-netlify@v1.2 + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ inputs.channel }} with: - branch: web-deployment - folder: ${{ github.workspace}}/build/web - git-config-name: ${{ github.sha }} - clean: true - clean-exclude: | - CNAME + publish-dir: ${{ github.workspace}}/build/web + deploy-message: ${{ github.sha }}