Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 0 additions & 51 deletions .github/workflows/algolia-indexing.yml

This file was deleted.

264 changes: 13 additions & 251 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ on:
required: true
default: "dev"
clean:
description: "Clean cache (yes|no)"
description: "Clean cache"
required: true
default: "no"
type: boolean
default: false
excludeSubfolder:
description: "Exclude a subfolder from deletion"
required: false
Expand All @@ -24,252 +25,13 @@ on:
- console
- index
jobs:
set-state:
runs-on: ubuntu-latest
outputs:
deploy_prod: ${{ contains(github.event.inputs.env, 'prod') }}
deploy_dev: ${{ contains(github.event.inputs.env, 'dev') }}
clean_cache: ${{ contains(github.event.inputs.clean, 'yes') }}
path_prefix: ${{ steps.get_path_prefix.outputs.path_prefix }}
branch_short_ref: ${{ steps.get_branch.outputs.branch }}
exclude_subfolder: ${{ github.event.inputs.excludeSubfolder }}
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Get pathPrefix
uses: actions/github-script@v6
id: get_path_prefix
with:
script: |
const script = require('./.github/scripts/get-path-prefix.js');
script({ core });
result-encoding: string
- name: Get branch name
shell: bash
run: echo "branch=${GITHUB_REF#refs/heads/}" >> "$GITHUB_OUTPUT"
id: get_branch

echo-state:
needs: [set-state]
runs-on: ubuntu-latest
steps:
- run: echo "Deploy to dev - ${{ needs.set-state.outputs.deploy_dev }}"
- run: echo "Deploy to prod - ${{ needs.set-state.outputs.deploy_prod }}"
- run: echo "Clean cache - ${{ needs.set-state.outputs.clean_cache }}"
- run: echo "Repository org - ${{ github.event.repository.owner.login }}"
- run: echo "Repository name - ${{ github.event.repository.name }}"
- run: echo "Repository branch - ${{ needs.set-state.outputs.branch_short_ref }}"
- run: echo "Path prefix - ${{ needs.set-state.outputs.path_prefix }}"
- run: echo "Exclude subfolder - ${{ needs.set-state.outputs.exclude_subfolder }}"

pre-build-dev:
needs: [set-state]
runs-on: ubuntu-latest
if: needs.set-state.outputs.deploy_dev == 'true'
steps:
- name: check dev azure connection string
if: env.AIO_AZURE_DEV_CONNECTION_STRING == null
run: |
echo "::error::Please set the Azure Blob Storage connection string as AIO_AZURE_DEV_CONNECTION_STRING in Github Secrets"
exit 1
env:
AIO_AZURE_DEV_CONNECTION_STRING: ${{ secrets.AIO_AZURE_DEV_CONNECTION_STRING }}

build-dev:
defaults:
run:
shell: bash
needs: [set-state, pre-build-dev]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup Node v16 for Yarn v3
uses: actions/setup-node@v3
with:
node-version: "16.15.0" # Current LTS version

- name: Enable Corepack for Yarn v3
run: corepack enable

- name: Install Yarn v3
uses: borales/actions-yarn@v3
with:
cmd: set version stable

- name: Install Dependencies
uses: borales/actions-yarn@v3
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
with:
cmd: install

- name: Gatsby Cache
uses: actions/cache@v3
with:
path: |
public
.cache
key: ${{ needs.set-state.outputs.branch_short_ref }}-gatsby-cache-${{ github.run_id }}
restore-keys: |
${{ needs.set-state.outputs.branch_short_ref }}-gatsby-cache-

- name: Clean Cache
if: needs.set-state.outputs.clean_cache == 'true'
uses: borales/actions-yarn@v3
with:
cmd: clean

- name: Build site
uses: borales/actions-yarn@v3
with:
cmd: build
env:
PREFIX_PATHS: true # equivalent to --prefix-paths flag for 'gatsby build'
PATH_PREFIX: ${{ needs.set-state.outputs.path_prefix }}
GATSBY_ADOBE_LAUNCH_SRC: ${{ secrets.AIO_ADOBE_LAUNCH_DEV_SRC }}
GATSBY_ADDITIONAL_ADOBE_ANALYTICS_ACCOUNTS: ${{ secrets.AIO_REPORT_SUITE_DEV}}
GATSBY_ADOBE_ANALYTICS_ENV: "dev"
REPO_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_OWNER: ${{ github.event.repository.owner.login }}
REPO_NAME: ${{ github.event.repository.name }}
REPO_BRANCH: ${{ needs.set-state.outputs.branch_short_ref }}
GOOGLE_OAUTH_CLIENT_ID: ${{ secrets.GOOGLE_OAUTH_CLIENT_ID }}
GOOGLE_OAUTH_CLIENT_SECRET: ${{ secrets.GOOGLE_OAUTH_CLIENT_SECRET }}
GOOGLE_DOCS_TOKEN: ${{ secrets.GOOGLE_DOCS_TOKEN }}
GOOGLE_DOCS_FOLDER_ID: ${{ secrets.GOOGLE_DOCS_FOLDER_ID }}
GATSBY_IMS_SRC: ${{ secrets.AIO_IMS_DEV_SRC }}
GATSBY_IMS_CONFIG: ${{ secrets.AIO_IMS_DEV_CONFIG }}
GATSBY_ALGOLIA_APPLICATION_ID: ${{ secrets.AIO_ALGOLIA_APPLICATION_ID }}
GATSBY_ALGOLIA_SEARCH_API_KEY: ${{ secrets.AIO_ALGOLIA_SEARCH_API_KEY }}
GATSBY_ALGOLIA_APP_ID: ${{ secrets.AIO_ALGOLIA_APP_ID }}
GATSBY_ALGOLIA_API_KEY: ${{ secrets.AIO_ALGOLIA_API_KEY }}
GATSBY_ALGOLIA_INDEX_ALL_SRC: ${{ secrets.AIO_ALGOLIA_INDEX_ALL_SRC }}
GATSBY_ALGOLIA_SEARCH_INDEX: ${{ secrets.AIO_ALGOLIA_SEARCH_INDEX }}
GATSBY_ALGOLIA_INDEX_ENV_PREFIX: ${{ secrets.AIO_ALGOLIA_INDEX_ENV_PREFIX }}
GATSBY_FEDS_PRIVACY_ID: ${{ secrets.AIO_FEDS_PRIVACY_ID }}
GATSBY_SITE_DOMAIN_URL: https://developer-stage.adobe.com
NODE_OPTIONS: "--max_old_space_size=8192"
- name: Deploy
uses: AdobeDocs/static-website-deploy@master
with:
enabled-static-website: "true"
source: "public"
target: ${{ needs.set-state.outputs.path_prefix }}
connection-string: ${{ secrets.AIO_AZURE_DEV_CONNECTION_STRING }}
remove-existing-files: "true"
exclude-subfolder: ${{ needs.set-state.outputs.exclude_subfolder }}
- name: Purge Fastly Cache
uses: AdobeDocs/gatsby-fastly-purge-action@master
with:
fastly-token: ${{ secrets.AIO_FASTLY_TOKEN }}
fastly-url: "${{ secrets.AIO_FASTLY_DEV_URL}}${{ needs.set-state.outputs.path_prefix }}"

pre-build-production:
needs: [set-state]
runs-on: ubuntu-latest
if: needs.set-state.outputs.deploy_prod == 'true'
steps:
- name: check prod azure connection string
if: env.AIO_AZURE_PROD_CONNECTION_STRING == null
run: |
echo "::error::Please set the Azure Blob Storage connection string as AIO_AZURE_PROD_CONNECTION_STRING in Github Secrets"
exit 1
env:
AIO_AZURE_PROD_CONNECTION_STRING: ${{ secrets.AIO_AZURE_PROD_CONNECTION_STRING }}

build-production:
defaults:
run:
shell: bash
needs: [set-state, pre-build-production]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup Node v16 for Yarn v3
uses: actions/setup-node@v3
with:
node-version: "16.15.0" # Current LTS version

- name: Enable Corepack for Yarn v3
run: corepack enable

- name: Install Yarn v3
uses: borales/actions-yarn@v3
with:
cmd: set version stable

- name: Install Dependencies
uses: borales/actions-yarn@v3
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
with:
cmd: install

- name: Gatsby Cache
uses: actions/cache@v3
with:
path: |
public
.cache
key: ${{ needs.set-state.outputs.branch_short_ref }}-gatsby-cache-${{ github.run_id }}
restore-keys: |
${{ needs.set-state.outputs.branch_short_ref }}-gatsby-cache-

- name: Clean Cache
if: needs.set-state.outputs.clean_cache == 'true'
uses: borales/actions-yarn@v3
with:
cmd: clean

- name: Build site
uses: borales/actions-yarn@v3
with:
cmd: build
env:
PREFIX_PATHS: true # equivalent to --prefix-paths flag for 'gatsby build'
PATH_PREFIX: ${{ needs.set-state.outputs.path_prefix }}
GATSBY_ADOBE_LAUNCH_SRC: ${{ secrets.AIO_ADOBE_LAUNCH_PROD_SRC }}
GATSBY_ADDITIONAL_ADOBE_ANALYTICS_ACCOUNTS: ${{ secrets.AIO_REPORT_SUITE_PROD }}
GATSBY_ADOBE_ANALYTICS_ENV: "production"
REPO_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_OWNER: ${{ github.event.repository.owner.login }}
REPO_NAME: ${{ github.event.repository.name }}
REPO_BRANCH: ${{ needs.set-state.outputs.branch_short_ref }}
GOOGLE_OAUTH_CLIENT_ID: ${{ secrets.GOOGLE_OAUTH_CLIENT_ID }}
GOOGLE_OAUTH_CLIENT_SECRET: ${{ secrets.GOOGLE_OAUTH_CLIENT_SECRET }}
GOOGLE_DOCS_TOKEN: ${{ secrets.GOOGLE_DOCS_TOKEN }}
GOOGLE_DOCS_FOLDER_ID: ${{ secrets.GOOGLE_DOCS_FOLDER_ID }}
GATSBY_IMS_SRC: ${{ secrets.AIO_IMS_PROD_SRC }}
GATSBY_IMS_CONFIG: ${{ secrets.AIO_IMS_PROD_CONFIG }}
GATSBY_ALGOLIA_APPLICATION_ID: ${{ secrets.AIO_ALGOLIA_APPLICATION_ID }}
GATSBY_ALGOLIA_SEARCH_API_KEY: ${{ secrets.AIO_ALGOLIA_SEARCH_API_KEY }}
GATSBY_ALGOLIA_APP_ID: ${{ secrets.AIO_ALGOLIA_APP_ID }}
GATSBY_ALGOLIA_API_KEY: ${{ secrets.AIO_ALGOLIA_API_KEY }}
ALGOLIA_WRITE_API_KEY: ${{ secrets.AIO_ALGOLIA_WRITE_API_KEY }}
ALGOLIA_INDEXATION_MODE: ${{ github.event.inputs.index-mode || 'index' }}
GATSBY_ALGOLIA_INDEX_NAME: ${{ secrets.ALGOLIA_INDEX_NAME || github.event.repository.name }}
GATSBY_ALGOLIA_INDEX_ALL_SRC: ${{ secrets.AIO_ALGOLIA_INDEX_ALL_SRC }}
GATSBY_ALGOLIA_SEARCH_INDEX: ${{ secrets.AIO_ALGOLIA_SEARCH_INDEX }}
GATSBY_ALGOLIA_INDEX_ENV_PREFIX: ${{ secrets.AIO_ALGOLIA_INDEX_ENV_PREFIX }}
GATSBY_FEDS_PRIVACY_ID: ${{ secrets.AIO_FEDS_PRIVACY_ID }}
GATSBY_SITE_DOMAIN_URL: https://developer.adobe.com
NODE_OPTIONS: "--max_old_space_size=8192"
- name: Deploy
uses: AdobeDocs/static-website-deploy@master
with:
enabled-static-website: "true"
source: "public"
target: ${{ needs.set-state.outputs.path_prefix }}
connection-string: ${{ secrets.AIO_AZURE_PROD_CONNECTION_STRING }}
remove-existing-files: "true"
exclude-subfolder: ${{ needs.set-state.outputs.exclude_subfolder }}
- name: Purge Fastly Cache
uses: AdobeDocs/gatsby-fastly-purge-action@master
with:
fastly-token: ${{ secrets.AIO_FASTLY_TOKEN }}
fastly-url: "${{ secrets.AIO_FASTLY_PROD_URL }}${{ needs.set-state.outputs.path_prefix }}"
deployment:
name: Deployment
uses: AdobeDocs/adp-devsite-workflow/.github/workflows/gatsby-deploy.yml@main
secrets: inherit
with:
env: ${{ inputs.env }}
clean: ${{ inputs.clean }}
excludeSubfolder: ${{ inputs.excludeSubfolder }}
index-mode: ${{ inputs.index-mode }}
NODE_OPTIONS: "--max-old-space-size=8192"
23 changes: 5 additions & 18 deletions .github/workflows/test-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,33 +57,20 @@ jobs:
VALIDATE_ALL_CODEBASE: false
VALIDATE_GITHUB_ACTIONS: true

- name: Setup Node v16 for Yarn v3
- name: Setup Node v20 for Yarn v3
uses: actions/setup-node@v3
with:
node-version: '16.15.0' # Current LTS version
node-version: '20.19.5' # Current LTS version

- name: Enable Corepack for Yarn v3
run: corepack enable

- name: Install Yarn v3
uses: borales/actions-yarn@v3
with:
cmd: set version stable

- name: Install dependencies
uses: borales/actions-yarn@v3
env:
YARN_ENABLE_IMMUTABLE_INSTALLS: false
with:
cmd: install
run: yarn install

- name: Check internal links
uses: borales/actions-yarn@v3
with:
cmd: test:links
run: yarn test:links

- name: Build site
if: ${{ success() }}
uses: borales/actions-yarn@v3
with:
cmd: build
run: yarn build
Loading