Skip to content

Staging alignment (#121) #101

Staging alignment (#121)

Staging alignment (#121) #101

Workflow file for this run

name: Commit Stage
on:
push:
branches: ["staging"]
env:
REGISTRY: ghcr.io
IMAGE_NAME: cloud-native-nordics/kcddenmark.dk
VERSION: ${{ github.sha }}
GATSBY_DEFAULT_SITE_URL: https://kcddenmark.dk
jobs:
package:
name: Package and Publish
runs-on: ubuntu-20.04
permissions:
contents: read
packages: write
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: "18"
cache: "npm"
- name: Set up Pack CLI
uses: buildpacks/github-actions/[email protected]
- name: Install dependencies
run: npm ci
- name: Build SPA
run: |
npm run build
- name: Configure NGINX
run: |
cp nginx/* public/
- name: Package SPA
run: |
pack build ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }} \
--builder paketobuildpacks/builder-jammy-base \
--path public
- name: Log into container registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Publish container image
run: docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }}
- name: Publish container image (latest)
run: |
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.VERSION }} \
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Trigger watchtower to update running container
run: |
curl -H "Authorization: Bearer ${{ secrets.WATCHTOWER_TOKEN }}" https://watchtower.robert-jensen.dk/v1/update
purge-cache:
runs-on: ubuntu-latest
steps:
# Put steps here to build your site, deploy it to a service, etc.
- name: Purge cache
uses: jakejarvis/cloudflare-purge-action@master
env:
# Zone is required by both authentication methods
CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }}
CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }}