Deploy to Beta by @dharmesh-hemaram on v4.0.47.1 #18
Workflow file for this run
This file contains hidden or 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: Deploy [Extension & Options Page] | |
run-name: Deploy to ${{ inputs.environment }} by @${{ github.actor }} on ${{ inputs.version || github.ref_name }} | |
on: | |
workflow_dispatch: | |
inputs: | |
environment: | |
description: 'Environment of release' | |
type: environment | |
default: Development | |
required: true | |
upload_extension: | |
description: 'Extension to chrome webstore' | |
type: boolean | |
default: false | |
required: true | |
publish_extension: | |
description: 'Publish extension' | |
type: boolean | |
default: false | |
required: true | |
version: | |
description: 'Version (v4.0.0.0)' | |
type: string | |
jobs: | |
main: | |
name: Build & Bundle & Publish | |
environment: | |
name: ${{inputs.environment}} | |
url: ${{ steps.release.outputs.url}} | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
actions: read | |
discussions: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 24 | |
registry-url: https://npm.pkg.github.com | |
scope: ${{github.repository_owner}} | |
cache: 'npm' | |
- uses: nrwl/nx-set-shas@v4 | |
- run: npm ci | |
- run: npx nx report | |
- name: Build Options Page | |
run: | | |
npx nx run acf-options-page:build --prod --base ${{ vars.PUBLIC_URL }} --verbose --skip-nx-cache | |
env: | |
VITE_PUBLIC_VARIANT: ${{vars.VITE_PUBLIC_VARIANT}} | |
VITE_PUBLIC_CHROME_EXTENSION_ID: ${{vars.VITE_PUBLIC_CHROME_EXTENSION_ID}} | |
VITE_PUBLIC_I18N: ${{vars.VITE_PUBLIC_I18N}} | |
VITE_PUBLIC_GOOGLE_ADS_SLOT: ${{vars.VITE_PUBLIC_GOOGLE_ADS_SLOT}} | |
VITE_PUBLIC_GOOGLE_ADS_CLIENT: ${{vars.VITE_PUBLIC_GOOGLE_ADS_CLIENT}} | |
VITE_PUBLIC_FIREBASE_API_KEY: ${{vars.VITE_PUBLIC_FIREBASE_API_KEY}} | |
VITE_PUBLIC_FIREBASE_DATABASE_URL: ${{vars.VITE_PUBLIC_FIREBASE_DATABASE_URL}} | |
VITE_PUBLIC_FIREBASE_PROJECT_ID: ${{vars.VITE_PUBLIC_FIREBASE_PROJECT_ID}} | |
VITE_PUBLIC_FIREBASE_BUCKET: ${{vars.VITE_PUBLIC_FIREBASE_BUCKET}} | |
VITE_PUBLIC_RELEASE_VERSION: ${{inputs.version || github.ref_name}} | |
VITE_PUBLIC_OPTIONS_PAGE_SENTRY_DSN: ${{vars.VITE_PUBLIC_OPTIONS_PAGE_SENTRY_DSN}} | |
- name: Build Extension | |
run: | | |
npx nx run acf-extension:build --prod --verbose --skip-nx-cache | |
env: | |
VITE_PUBLIC_NAME: ${{vars.VITE_PUBLIC_NAME}} | |
VITE_PUBLIC_VARIANT: ${{vars.VITE_PUBLIC_VARIANT}} | |
VITE_PUBLIC_FIREBASE_API_KEY: ${{vars.VITE_PUBLIC_FIREBASE_API_KEY}} | |
VITE_PUBLIC_FIREBASE_DATABASE_URL: ${{vars.VITE_PUBLIC_FIREBASE_DATABASE_URL}} | |
VITE_PUBLIC_FIREBASE_PROJECT_ID: ${{vars.VITE_PUBLIC_FIREBASE_PROJECT_ID}} | |
VITE_PUBLIC_FIREBASE_BUCKET: ${{vars.VITE_PUBLIC_FIREBASE_BUCKET}} | |
VITE_PUBLIC_FIREBASE_FUNCTIONS_URL: ${{vars.VITE_PUBLIC_FIREBASE_FUNCTIONS_URL}} | |
VITE_PUBLIC_RELEASE_VERSION: ${{inputs.version || github.ref_name}} | |
VITE_PUBLIC_EXTENSION_SENTRY_DSN: ${{vars.VITE_PUBLIC_EXTENSION_SENTRY_DSN}} | |
DISCORD_CLIENT_ID: ${{vars.DISCORD_CLIENT_ID}} | |
OAUTH_CLIENT_ID: ${{vars.OAUTH_CLIENT_ID}} | |
EDGE_OAUTH_CLIENT_ID: ${{vars.EDGE_OAUTH_CLIENT_ID}} | |
PUBLIC_URL: ${{vars.PUBLIC_URL}} | |
API_SECRET: ${{vars.API_SECRET}} | |
MEASUREMENT_ID: ${{vars.MEASUREMENT_ID}} | |
SENTRY_AUTH_TOKEN: ${{secrets.SENTRY_AUTH_TOKEN}} | |
- name: Determine Firebase Target | |
run: | | |
VARIANT=$(echo "${{ vars.VITE_PUBLIC_VARIANT }}" | tr '[:upper:]' '[:lower:]') | |
TARGET="auto-clicker-auto-fill-$VARIANT" | |
echo "TARGET=$TARGET" >> $GITHUB_ENV | |
- name: Options Page to Firebase Hosting | |
uses: FirebaseExtended/action-hosting-deploy@v0 | |
with: | |
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT }}' | |
projectId: auto-clicker-autofill | |
target: ${{ env.TARGET }} | |
channelId: live | |
- name: Bundle Projects | |
run: | | |
cd apps/acf-extension/dist | |
zip -r ../../../acf-extension-${{vars.VITE_PUBLIC_VARIANT}}.zip . | |
cd ../../../ | |
- name: Extension to Chrome Webstore | |
if: ${{ inputs.upload_extension }} | |
uses: mnao305/chrome-extension-upload@v5.0.0 | |
id: chrome-extension-upload | |
with: | |
file-path: acf-extension-${{vars.VITE_PUBLIC_VARIANT}}.zip | |
extension-id: ${{ vars.VITE_PUBLIC_CHROME_EXTENSION_ID }} | |
client-id: ${{ secrets.CLIENT_ID }} | |
client-secret: ${{ secrets.CLIENT_SECRET }} | |
refresh-token: ${{ secrets.REFRESH_TOKEN }} | |
publish: ${{inputs.publish_extension}} | |
glob: true | |
- name: Release to Github | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
id: release | |
with: | |
prerelease: ${{ vars.VITE_PUBLIC_VARIANT == 'BETA' || vars.VITE_PUBLIC_VARIANT == 'DEV'}} | |
generate_release_notes: true | |
discussion_category_name: 'Release' |