diff --git a/.github/workflows/main-migrations.yaml b/.github/workflows/main-migrations.yaml new file mode 100644 index 00000000..8d29604d --- /dev/null +++ b/.github/workflows/main-migrations.yaml @@ -0,0 +1,44 @@ +name: Apply main migrations on PR merge + +on: + pull_request: + types: [closed] + +jobs: + apply-main-migrations: + if: ${{ github.event.pull_request.merged == true }} + 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 + + if git diff --quiet HEAD^ 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-main diff --git a/config/dato/instances.js b/config/dato/instances.js index b150893f..79d5a7d8 100644 --- a/config/dato/instances.js +++ b/config/dato/instances.js @@ -7,12 +7,12 @@ module.exports.instances = [ name: "nl2120", key: process.env.DATO_API_KEY_NL2120, }, - // { - // name: "openearth-data-viewer", - // key: process.env.DATO_API_KEY_OPENEARTH_DATA_VIEWER, - // }, - // { - // name: "openearth-rws-viewer", - // key: process.env.DATO_API_KEY_OPENEARTH_RWS_VIEWER, - // }, + { + name: "openearth-data-viewer", + key: process.env.DATO_API_KEY_OPENEARTH_DATA_VIEWER, + }, + { + name: "openearth-rws-viewer", + key: process.env.DATO_API_KEY_OPENEARTH_RWS_VIEWER, + }, ]; diff --git a/scripts/dato/apply-main.ts b/scripts/dato/apply-main.ts index 35b19357..d514f15b 100644 --- a/scripts/dato/apply-main.ts +++ b/scripts/dato/apply-main.ts @@ -30,6 +30,8 @@ async function main() { await client.destroyEnvironment("main"); await client.runCommand(["environments:rename", "staging", "main"]); + + await client.runCommand(["maintenance:off"]); } }