Skip to content
Merged
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
48 changes: 41 additions & 7 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,31 @@ jobs:
- name: Install libvips
run: sudo apt-get install libvips
- uses: actions/checkout@v2
- name: Setup Node 12
- name: Setup Node 16
uses: actions/setup-node@v2
with:
node-version: '12'
node-version: '16'
- name: Install dependencies
run: |
npm ci --ignore-scripts --unsafe-perm
npm i --force --unsafe-perm
- name: Force installing sharp
run: npm install --ignore-scripts=false --verbose sharp@0.30.7
run: npm install --ignore-scripts=false --verbose sharp@0.30.7 --force --unsafe-perm
- name: 'Create env file'
run: |
touch .env
echo GATSBY_ALGOLIA_APP_ID=${{ secrets.GATSBY_ALGOLIA_APP_ID }} >> .env
echo GATSBY_ALGOLIA_SEARCH_KEY=${{ secrets.GATSBY_ALGOLIA_SEARCH_KEY }} >> .env
echo ALGOLIA_ADMIN_KEY=${{ secrets.ALGOLIA_ADMIN_KEY }} >> .env
echo BUCKET_NAME=${{ secrets.BUCKET_NAME }} >> .env
echo HOST_NAME=${{ secrets.HOST_NAME }} >> .env
echo ASSET_HOST=${{ secrets.ASSET_HOST }} >> .env
echo FRESHCHAT_TOKEN=${{ secrets.FRESHCHAT_TOKEN }} >> .env
echo GA_TRACKING_ID=${{ secrets.GA_TRACKING_ID }} >> .env
echo GTAG_TRACKING_ID_FOR_GA4=${{ secrets.GTAG_TRACKING_ID_FOR_GA4 }} >> .env
echo GTAG_TRACKING_ID_FOR_GTAG=${{ secrets.GTAG_TRACKING_ID_FOR_GTAG }} >> .env
echo TYPESENSE_HOST=${{ secrets.TYPESENSE_HOST }} >> .env
echo TYPESENSE_PORT=${{ secrets.TYPESENSE_PORT }} >> .env
echo TYPESENSE_PROTOCOL=${{ secrets.TYPESENSE_PROTOCOL }} >> .env
echo TYPESENSE_COLLECTION=${{ secrets.TYPESENSE_COLLECTION }} >> .env
echo TYPESENSE_API_KEY=${{ secrets.TYPESENSE_API_KEY }} >> .env
echo TYPESENSE_SEARCH_API_KEY=${{ secrets.TYPESENSE_SEARCH_API_KEY }} >> .env
cat .env
- name: Build
run: |
Expand All @@ -41,4 +44,35 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_DEFAULT_OUTPUT: json
TYPESENSE_HOST: ${{ secrets.TYPESENSE_HOST }}
TYPESENSE_PORT: ${{ secrets.TYPESENSE_PORT }}
TYPESENSE_PROTOCOL: ${{ secrets.TYPESENSE_PROTOCOL }}
TYPESENSE_COLLECTION: ${{ secrets.TYPESENSE_COLLECTION }}
TYPESENSE_API_KEY: ${{ secrets.TYPESENSE_API_KEY }}
TYPESENSE_SEARCH_API_KEY: ${{ secrets.TYPESENSE_SEARCH_API_KEY }}

- name: Start Gatsby server
run: npm run develop &
env:
GATSBY_TELEMETRY_DISABLED: 1

- name: Wait for Gatsby server to start
run: |
sleep 10
until $(curl --output /dev/null --silent --head --fail http://localhost:8001); do
sleep 2
done

- name: Run indexing script
run: npm run index
env:
TYPESENSE_HOST: ${{ secrets.TYPESENSE_HOST }}
TYPESENSE_PORT: ${{ secrets.TYPESENSE_PORT }}
TYPESENSE_PROTOCOL: ${{ secrets.TYPESENSE_PROTOCOL }}
TYPESENSE_COLLECTION: ${{ secrets.TYPESENSE_COLLECTION }}
TYPESENSE_API_KEY: ${{ secrets.TYPESENSE_API_KEY }}
TYPESENSE_SEARCH_API_KEY: ${{ secrets.TYPESENSE_SEARCH_API_KEY }}

- name: Stop Gatsby server
run: lsof -i :8001 -t | xargs kill

8 changes: 7 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
node-version: '12'
- name: Install dependencies
run: |
npm ci --ignore-scripts --unsafe-perm
npm i --force --unsafe-perm
- name: Force installing sharp
run: npm install --ignore-scripts=false --verbose sharp@0.30.7
- name: 'Create env file'
Expand All @@ -31,6 +31,12 @@ jobs:
echo GA_TRACKING_ID=${{ secrets.GA_TRACKING_ID }} >> .env
echo GTAG_TRACKING_ID_FOR_GA4=${{ secrets.GTAG_TRACKING_ID_FOR_GA4 }} >> .env
echo GTAG_TRACKING_ID_FOR_GTAG=${{ secrets.GTAG_TRACKING_ID_FOR_GTAG }} >> .env
echo TYPESENSE_HOST=${{ secrets.WEBSITE_STAGING_TYPESENSE_HOST }} >> .env
echo TYPESENSE_PORT=${{ secrets.WEBSITE_STAGING_TYPESENSE_PORT }} >> .env
echo TYPESENSE_PROTOCOL=${{ secrets.WEBSITE_STAGING_TYPESENSE_PROTOCOL }} >> .env
echo TYPESENSE_COLLECTION=${{ secrets.WEBSITE_STAGING_TYPESENSE_COLLECTION }} >> .env
echo TYPESENSE_API_KEY=${{ secrets.WEBSITE_STAGING_TYPESENSE_API_KEY }} >> .env
echo TYPESENSE_SEARCH_API_KEY=${{ secrets.WEBSITE_STAGING_TYPESENSE_SEARCH_API_KEY }} >> .env
cat .env
- name: Build
run: |
Expand Down
52 changes: 45 additions & 7 deletions .github/workflows/staging-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,31 @@ jobs:
- name: Install libvips
run: sudo apt-get install libvips
- uses: actions/checkout@v2
- name: Setup Node 12
- name: Setup Node 16
uses: actions/setup-node@v2
with:
node-version: '12'
node-version: '16'
- name: Install dependencies
run: |
npm ci --ignore-scripts --unsafe-perm
npm i --force --unsafe-perm
- name: Force installing sharp
run: npm install --ignore-scripts=false --verbose sharp@0.30.7
run: npm install --ignore-scripts=false --verbose sharp@0.30.7 --force --unsafe-perm
- name: 'Create env file'
run: |
touch .env
echo GATSBY_ALGOLIA_APP_ID=${{ secrets.WEBSITE_STAGING_GATSBY_ALGOLIA_APP_ID }} >> .env
echo GATSBY_ALGOLIA_SEARCH_KEY=${{ secrets.WEBSITE_STAGING_GATSBY_ALGOLIA_SEARCH_KEY }} >> .env
echo ALGOLIA_ADMIN_KEY=${{ secrets.WEBSITE_STAGING_ALGOLIA_ADMIN_KEY }} >> .env
echo BUCKET_NAME=${{ secrets.WEBSITE_STAGING_BUCKET_NAME }} >> .env
echo HOST_NAME=${{ secrets.WEBSITE_STAGING_HOST_NAME }} >> .env
echo ASSET_HOST=${{ secrets.WEBSITE_STAGING_ASSET_HOST }} >> .env
echo FRESHCHAT_TOKEN=${{ secrets.WEBSITE_STAGING_FRESHCHAT_TOKEN }} >> .env
echo GA_TRACKING_ID=${{ secrets.WEBSITE_STAGING_GA_TRACKING_ID }} >> .env
echo GTAG_TRACKING_ID_FOR_GA4=${{ secrets.WEBSITE_STAGING_GTAG_TRACKING_ID_FOR_GA4 }} >> .env
echo GTAG_TRACKING_ID_FOR_GTAG=${{ secrets.WEBSITE_STAGING_GTAG_TRACKING_ID_FOR_GTAG }} >> .env
echo TYPESENSE_HOST=${{ secrets.WEBSITE_STAGING_TYPESENSE_HOST }} >> .env
echo TYPESENSE_PORT=${{ secrets.WEBSITE_STAGING_TYPESENSE_PORT }} >> .env
echo TYPESENSE_PROTOCOL=${{ secrets.WEBSITE_STAGING_TYPESENSE_PROTOCOL }} >> .env
echo TYPESENSE_COLLECTION=${{ secrets.WEBSITE_STAGING_TYPESENSE_COLLECTION }} >> .env
echo TYPESENSE_API_KEY=${{ secrets.WEBSITE_STAGING_TYPESENSE_API_KEY }} >> .env
echo TYPESENSE_SEARCH_API_KEY=${{ secrets.WEBSITE_STAGING_TYPESENSE_SEARCH_API_KEY }} >> .env
cat .env
- name: Set environment
run : sed -i 's/localhost/website.testsigma.com/g' src/environment.ts
Expand All @@ -43,3 +46,38 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.WEBSITE_STAGING_AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_DEFAULT_OUTPUT: json
TYPESENSE_HOST: ${{ secrets.WEBSITE_STAGING_TYPESENSE_HOST }}
TYPESENSE_PORT: ${{ secrets.WEBSITE_STAGING_TYPESENSE_PORT }}
TYPESENSE_PROTOCOL: ${{ secrets.WEBSITE_STAGING_TYPESENSE_PROTOCOL }}
TYPESENSE_COLLECTION: ${{ secrets.WEBSITE_STAGING_TYPESENSE_COLLECTION }}
TYPESENSE_API_KEY: ${{ secrets.WEBSITE_STAGING_TYPESENSE_API_KEY }}
TYPESENSE_SEARCH_API_KEY: ${{ secrets.WEBSITE_STAGING_TYPESENSE_SEARCH_API_KEY }}

- name: Start Gatsby server
run: npm run develop &
env:
GATSBY_TELEMETRY_DISABLED: 1

- name: Wait for Gatsby server to start
run: |
sleep 10
until $(curl --output /dev/null --silent --head --fail http://localhost:8001); do
sleep 2
done

- name: Run indexing script
run: npm run index
env:
AWS_ACCESS_KEY_ID: ${{ secrets.WEBSITE_STAGING_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.WEBSITE_STAGING_AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
AWS_DEFAULT_OUTPUT: json
TYPESENSE_HOST: ${{ secrets.WEBSITE_STAGING_TYPESENSE_HOST }}
TYPESENSE_PORT: ${{ secrets.WEBSITE_STAGING_TYPESENSE_PORT }}
TYPESENSE_PROTOCOL: ${{ secrets.WEBSITE_STAGING_TYPESENSE_PROTOCOL }}
TYPESENSE_COLLECTION: ${{ secrets.WEBSITE_STAGING_TYPESENSE_COLLECTION }}
TYPESENSE_API_KEY: ${{ secrets.WEBSITE_STAGING_TYPESENSE_API_KEY }}
TYPESENSE_SEARCH_API_KEY: ${{ secrets.WEBSITE_STAGING_TYPESENSE_SEARCH_API_KEY }}

- name: Stop Gatsby server
run: lsof -i :8001 -t | xargs kill
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ public
.idea/*
*.iml
.env
.DS_Store
.DS_Store
package-lock.json
22 changes: 22 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Tutorials",
"skipFiles": [
"<node_internals>/**"
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": "/usr/local/bin/npm",
"runtimeArgs": [
"run-script", "develop"
],
"outputCapture": "std",
}
]
}
70 changes: 6 additions & 64 deletions gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,58 +3,6 @@ require('dotenv').config({
path: `.env`,
});

const pageQuery = `{
docs: allMarkdownRemark(
filter: {
fileAbsolutePath: { regex: "/tutorials/" },
}
) {
edges {
node {
headings(depth: h3) {
value
}
objectID: id
frontmatter {
title
search_keyword
contextual_links {
type
name
url
}
}
fields {
slug
}
excerpt(
pruneLength: 6700
)
}
}
}
}`;


function pageToAlgoliaRecord({ node: { id, frontmatter, ...rest } }) {
return {
objectID: id,
...frontmatter,
...rest,
};
}

const settings = { attributesToSnippet: ['excerpt:20'] };

const queries = [
{
query: pageQuery,
transformer: ({ data }) => data.docs.edges.map(pageToAlgoliaRecord),
indexName: 'OS Docs',
settings,
},
];


module.exports = {
assetPrefix: process.env.ASSET_HOST,
Expand Down Expand Up @@ -88,18 +36,6 @@ module.exports = {
path: `${__dirname}/src/`,
},
},
{
resolve: 'gatsby-plugin-algolia',
options: {
appId: process.env.GATSBY_ALGOLIA_APP_ID,
apiKey: process.env.ALGOLIA_ADMIN_KEY,
queries,
chunkSize: 10000, // default: 1000
enablePartialUpdates: true, // only index new, changed, deleted records
matchFields: ['excerpt', 'contextual_links', 'search_keyword', 'headings', 'fields', 'modified'],
concurrentQueries: false,
},
},
{
resolve: `gatsby-plugin-ts-freshchat`,
options: {
Expand Down Expand Up @@ -167,6 +103,12 @@ module.exports = {
},
},
},
},
{
resolve: 'gatsby-plugin-env-variables',
options: {
allowList: ['TYPESENSE_HOST', 'TYPESENSE_PORT', 'TYPESENSE_PROTOCOL', 'TYPESENSE_API_KEY', "TYPESENSE_SEARCH_API_KEY", "TYPESENSE_COLLECTION"],
},
}
],
},
Expand Down
Loading