Skip to content

Merge pull request #726 from SierraSoftworks/dependabot/npm_and_yarn/… #1657

Merge pull request #726 from SierraSoftworks/dependabot/npm_and_yarn/…

Merge pull request #726 from SierraSoftworks/dependabot/npm_and_yarn/… #1657

Workflow file for this run

# Docs for the Azure Web Apps Deploy action: https://github.com/azure/functions-action
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Azure Function
on:
pull_request:
branches:
- main
push:
branches:
- main
workflow_dispatch:
env:
NODE_VERSION: "18.x"
permissions:
id-token: write
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm ci
- run: npm test
deploy-staging:
runs-on: ubuntu-latest
needs:
- test
if: github.actor != 'dependabot[bot]'
environment:
name: Staging
url: https://github-automerge-staging.azurewebsites.net/api/health
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm ci
- run: npm run build
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- uses: azure/login@v2
with:
tenant-id: a26571f1-22b3-4756-ac7b-39ca684fab48
subscription-id: 108b3ddb-53fb-4344-80b2-d6c151912be6
client-id: 9153565b-2895-414b-8f22-f475b87befb7
- run: sudo npm install -g azure-functions-core-tools@4 --unsafe-perm=true
- name: func azure functionapp publish github-automerge --slot staging
run: func azure functionapp publish github-automerge --slot staging --typescript
healthcheck-staging:
needs: deploy-staging
runs-on: ubuntu-latest
steps:
- name: Probe
uses: Jtalk/url-health-check-action@v4
with:
url: https://github-automerge-staging.azurewebsites.net/api/health
max-attempts: 5
retry-delay: 10s
follow-redirect: true
deploy-production:
runs-on: ubuntu-latest
needs:
- healthcheck-staging
if: github.event_name == 'push'
environment:
name: Production
url: https://github-automerge-staging.azurewebsites.net/api/health
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4.0.3
with:
node-version: ${{ env.NODE_VERSION }}
- run: npm ci
- run: npm run build
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- uses: azure/login@v2
with:
tenant-id: a26571f1-22b3-4756-ac7b-39ca684fab48
subscription-id: 108b3ddb-53fb-4344-80b2-d6c151912be6
client-id: 5d3f7698-1403-4c57-a377-1ea9dda502dc
- run: sudo npm install -g azure-functions-core-tools@4 --unsafe-perm=true
- name: func azure functionapp publish github-automerge
run: func azure functionapp publish github-automerge --typescript
healthcheck-production:
needs: deploy-production
runs-on: ubuntu-latest
steps:
- name: Probe
uses: Jtalk/url-health-check-action@v4
with:
url: https://github-automerge.azurewebsites.net/api/health
max-attempts: 5
retry-delay: 10s
follow-redirect: true