Skip to content

Replenish platform pools #5

Replenish platform pools

Replenish platform pools #5

name: "Replenish platform pools"
on:
workflow_dispatch:
inputs:
gitRef:
description: "Commit Id from where the pools should be created"
required: false
default: "main"
# Det er satt opp skedulering for når poolet oppdateres.
# Det er ikke behov for å kjøre denne jobber 24/7 og det er derfor satt opp noen skeduleringer (husk at tid er UTC)
# Det kjøres en jobb hver time 08:00-17:00 mandag til fredag, dette er fordelt på to jobber fordelt på vinter/sommertid
# Hver natt opprettes det scratcher sånn at man ikke risikerer å være tom dagen etter. Denne kjører alle dager sånn at man ikke er tom i helger dersom noe kritisk skulle oppstå
# schedule:
# - cron: "15 06-15 * 4-10 1-5" #Sommertid: At minute 15 past every hour from 6 through 15 on every day-of-week from Monday through Friday in every month from April through October.
# - cron: "15 07-16 * 1-3,11,12 1-5" #Vintertid: At minute 15 past every hour from 7 through 16 on every day-of-week from Monday through Friday in every month from January through March, November, and December.
# - cron: "15 2 * * *" # At 02:15.
jobs:
clearCiPlatformPool:
if: github.event.schedule == '15 2 * * *'
uses: navikt/crm-workflows-base/.github/workflows/ciDeletePool.yml@master
with:
poolTag: "ciPlatformPool"
deleteJobType: "allscratchorgs"
secrets:
CRM_PROD_SFDX_URL: ${{ secrets.SF_DEVHUB_URL}}
cleanupPlatformPool:
if: github.event.schedule == '15 2 * * *'
uses: navikt/crm-workflows-base/.github/workflows/ciDeletePool.yml@master
with:
poolTag: "platform"
deleteJobType: "unassigned"
secrets:
CRM_PROD_SFDX_URL: ${{ secrets.SF_DEVHUB_URL}}
createPool:
if: ${{ always() }}
needs: [clearCiPlatformPool, cleanupPlatformPool]
strategy:
matrix:
poolConfigPath:
[
"config/sf-ci-platform-pool-def.json",
"config/sf-platform-pool-def.json",
]
uses: navikt/crm-workflows-base/.github/workflows/ciCreateScratchPool.yml@dxAtScale
with:
gitRef: ${{ inputs.gitRef || 'main' }}
poolConfigPath: ${{ matrix.poolConfigPath }}
permissions:
contents: read
packages: read
secrets:
CRM_PROD_SFDX_URL: ${{ secrets.SF_DEVHUB_URL}}
deleteOrphans:
if: ${{ always() }}
needs: createPool
uses: navikt/crm-workflows-base/.github/workflows/ciDeletePool.yml@master
with:
deleteJobType: "orphans"
secrets:
CRM_PROD_SFDX_URL: ${{ secrets.SF_DEVHUB_URL}}