Skip to content

Commit

Permalink
init matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoerdbeentjes committed Oct 3, 2024
1 parent 38588a5 commit e213915
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 29 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main-migrations.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Main migrations
name: Deploy production

on:
pull_request:
Expand Down
94 changes: 73 additions & 21 deletions .github/workflows/staging-migrations.yaml
Original file line number Diff line number Diff line change
@@ -1,45 +1,97 @@
name: Staging migrations
name: Deploy staging

on:
pull_request:
types: [opened, synchronize]

jobs:
apply-staging-migrations:
# apply-staging-migrations:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# with:
# fetch-depth: 0

# - name: Check for changes in migrations folder
# id: check_changes
# run: |
# git fetch origin main
# git fetch origin ${{ github.head_ref || github.ref_name }}
# git checkout ${{ github.head_ref || github.ref_name }}

# if git diff --quiet origin/main HEAD -- migrations; then
# echo "CHANGES=false" >> $GITHUB_ENV
# else
# echo "CHANGES=true" >> $GITHUB_ENV
# fi

# - name: Set up Node.js
# if: ${{ env.CHANGES == 'true' }}
# uses: actions/setup-node@v4
# with:
# node-version: "20"

# - name: Install dependencies
# if: ${{ env.CHANGES == 'true' }}
# run: npm install --force

# - name: Run TypeScript script
# if: ${{ env.CHANGES == 'true' }}
# env:
# DATO_API_KEY_OPENEARTH_RWS_VIEWER: ${{ secrets.DATO_API_KEY_OPENEARTH_RWS_VIEWER }}
# DATO_API_KEY_OPENEARTH_DATA_VIEWER: ${{ secrets.DATO_API_KEY_OPENEARTH_DATA_VIEWER }}
# DATO_API_KEY_NL2120: ${{ secrets.DATO_API_KEY_NL2120 }}
# run: npm run migrations:apply-staging

prepare:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
fetch-depth: 0
node-version: "20"

- name: Check for changes in migrations folder
id: check_changes
- name: Install dependencies
run: npm install --force

- name: Set matrix data
id: set-matrix
run: |
git fetch origin main
git fetch origin ${{ github.head_ref || github.ref_name }}
git checkout ${{ github.head_ref || github.ref_name }}
instances=$(node -e 'console.log(JSON.stringify(require("./config/dato/instances.js").instances))')
echo "matrix=$(echo $instances | jq -c '.')" >> $GITHUB_OUTPUT
echo "matrix is set to: $instances"
if git diff --quiet origin/main HEAD -- migrations; then
echo "CHANGES=false" >> $GITHUB_ENV
else
echo "CHANGES=true" >> $GITHUB_ENV
fi
deploy-application:
needs: prepare
runs-on: ubuntu-latest
strategy:
matrix:
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
if: ${{ env.CHANGES == 'true' }}
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install dependencies
if: ${{ env.CHANGES == 'true' }}
run: npm install --force

- name: Run TypeScript script
if: ${{ env.CHANGES == 'true' }}
- name: Deploy to Netlify
uses: nwtgck/[email protected]
with:
publish-dir: "./dist"
production-branch: main
github-token: ${{ secrets.GITHUB_TOKEN }}
deploy-message: "Deploy from GitHub Actions"
env:
DATO_API_KEY_OPENEARTH_RWS_VIEWER: ${{ secrets.DATO_API_KEY_OPENEARTH_RWS_VIEWER }}
DATO_API_KEY_OPENEARTH_DATA_VIEWER: ${{ secrets.DATO_API_KEY_OPENEARTH_DATA_VIEWER }}
DATO_API_KEY_NL2120: ${{ secrets.DATO_API_KEY_NL2120 }}
run: npm run migrations:apply-staging
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ matrix.netlifySiteId }}
2 changes: 1 addition & 1 deletion config/dato/datocms.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ if (!currentInstance) {
throw new Error("No current instance found");
}

const token = currentInstance.key;
const token = currentinstance.datoApiKey;

const endpoint =
process.env.NODE_ENV === 'production'
Expand Down
9 changes: 6 additions & 3 deletions config/dato/instances.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@ dotenv.config();
module.exports.instances = [
{
name: "nl2120",
key: process.env.DATO_API_KEY_NL2120,
datoApiKey: process.env.DATO_API_KEY_NL2120,
netlifySiteId: "1f6372f6-c532-4e0e-bba7-dee08678d518",
},
{
name: "openearth-data-viewer",
key: process.env.DATO_API_KEY_OPENEARTH_DATA_VIEWER,
datoApiKey: process.env.DATO_API_KEY_OPENEARTH_DATA_VIEWER,
netlifySiteId: "1785f3f6-b4cf-42de-bea6-b57d48a5c664",
},
{
name: "openearth-rws-viewer",
key: process.env.DATO_API_KEY_OPENEARTH_RWS_VIEWER,
datoApiKey: process.env.DATO_API_KEY_OPENEARTH_RWS_VIEWER,
netlifySiteId: "119b8ff3-5b22-4995-b43b-b31f21ba77c3",
},
];
2 changes: 1 addition & 1 deletion scripts/dato/apply-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ async function main() {
for (const instance of instances) {
console.log(`Managing environments for ${instance.name}`);

const client = new DatoClient(instance.key);
const client = new DatoClient(instance.datoApiKey);

await client.runCommand(["maintenance:on"]);

Expand Down
2 changes: 1 addition & 1 deletion scripts/dato/apply-staging.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ async function main() {
for (const instance of instances) {
console.log(`Setting up staging environment for ${instance.name}`);

const client = new DatoClient(instance.key);
const client = new DatoClient(instance.datoApiKey);

const existingEnvironments = await client.listEnvironments();

Expand Down
2 changes: 1 addition & 1 deletion scripts/dato/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ if (!currentInstance) {
throw new Error("No current instance found");
}

const apiKey = currentInstance.key;
const apiKey = currentinstance.datoApiKey;
const client = new DatoClient(apiKey);

const promptGet = promisify(prompt.get);
Expand Down

0 comments on commit e213915

Please sign in to comment.