Skip to content

ci: temp commit

ci: temp commit #66

Workflow file for this run

name: CI
on:
push:
branches-ignore:
- 'main'
paths:
- 'assets/**'
- 'generators/**'
- 'build.ts'
jobs:
ci:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: 'Install pnpm'
uses: pnpm/action-setup@129abb77bf5884e578fcaf1f37628e41622cc371
with:
version: 8
- name: Install node
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
- name: Install dependencies
run: pnpm install
- name: Extract Branch Name
id: extract-branch
run: |
echo SUBDOMAIN=$(echo ${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}} | perl -pe 's/[^a-zA-Z0-9]+/-/g and s/-+$//g' | tr '[:upper:]' '[:lower:]') >> $GITHUB_OUTPUT
- name: Check If DNS Record Exists
id: cloudflare-dns-check
uses: fjogeleit/http-request-action@v1
with:
url: 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE_ID }}/dns_records?name=${{steps.extract-branch.outputs.SUBDOMAIN}}.${{secrets.FPJS_CI_DOMAIN}}'
method: 'GET'
customHeaders: '{"Authorization": "Bearer ${{ secrets.CF_AUTH_TOKEN }}"}'
- name: Create Cloudflare DNS Record
if: ${{ fromJson(steps.cloudflare-dns-check.outputs.response).result_info.total_count < 1 }}
uses: fjogeleit/http-request-action@v1
with:
url: 'https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE_ID }}/dns_records'
method: 'POST'
customHeaders: '{"Authorization": "Bearer ${{ secrets.CF_AUTH_TOKEN }}"}'
data: '{"content": "${{steps.extract-branch.outputs.SUBDOMAIN}}.${{secrets.FPJS_CI_DOMAIN}}.edgesuite.net", "name": "${{steps.extract-branch.outputs.SUBDOMAIN}}.${{secrets.FPJS_CI_DOMAIN}}", "proxied": false, "type": "CNAME", "comment": "Akamai CI run for ${{steps.extract-branch.outputs.SUBDOMAIN}}", "ttl": 3600, "tags": ["owner:akamai-integration-ci"]}'
- name: Check Akamai Property can be created
id: check-akamai-property
continue-on-error: true
env:
SUBDOMAIN: '${{steps.extract-branch.outputs.SUBDOMAIN}}'
AK_HOST: '${{secrets.AK_HOST}}'
AK_CLIENT_TOKEN: '${{secrets.AK_CLIENT_TOKEN}}'
AK_CLIENT_SECRET: '${{secrets.AK_CLIENT_SECRET}}'
AK_ACCESS_TOKEN: '${{secrets.AK_ACCESS_TOKEN}}'
AK_GROUP_ID: '${{secrets.AK_GROUP_ID}}'
AK_CONTRACT_ID: '${{secrets.AK_CONTRACT_ID}}'
FPJS_CI_DOMAIN: '${{secrets.FPJS_CI_DOMAIN}}'
run: pnpm ts-node scripts/checkPropertyCanBeCreated.ts
- name: Create Akamai Property
if: steps.check-akamai-property.outcome == 'success'
id: create-akamai-property
env:
SUBDOMAIN: '${{steps.extract-branch.outputs.SUBDOMAIN}}'
AK_HOST: '${{secrets.AK_HOST}}'
AK_CLIENT_TOKEN: '${{secrets.AK_CLIENT_TOKEN}}'
AK_CLIENT_SECRET: '${{secrets.AK_CLIENT_SECRET}}'
AK_ACCESS_TOKEN: '${{secrets.AK_ACCESS_TOKEN}}'
AK_GROUP_ID: '${{secrets.AK_GROUP_ID}}'
AK_CONTRACT_ID: '${{secrets.AK_CONTRACT_ID}}'
FPJS_CI_DOMAIN: '${{secrets.FPJS_CI_DOMAIN}}'
run: pnpm ts-node scripts/createProperty.ts
- name: Build Patch Body
run: pnpm build --type patchBody --proxy-secret ${{secrets.FPJS_PROXY_SECRET}} --integration-path worker --agent-path pxdownload --result-path pxresult --ingress-url mock-warden.fpjs.sh --cdn-url mock-warden.fpjs.sh
- name: Deploy Akamai Rules
id: deploy-rules
env:
SUBDOMAIN: '${{steps.extract-branch.outputs.SUBDOMAIN}}'
AK_HOST: '${{secrets.AK_HOST}}'
AK_CLIENT_TOKEN: '${{secrets.AK_CLIENT_TOKEN}}'
AK_CLIENT_SECRET: '${{secrets.AK_CLIENT_SECRET}}'
AK_ACCESS_TOKEN: '${{secrets.AK_ACCESS_TOKEN}}'
AK_GROUP_ID: '${{secrets.AK_GROUP_ID}}'
AK_CONTRACT_ID: '${{secrets.AK_CONTRACT_ID}}'
FPJS_CI_DOMAIN: '${{secrets.FPJS_CI_DOMAIN}}'
TEST_EDGE_WORKER_ID: ${{secrets.TEST_EDGE_WORKER_ID}}
NOTIFY_EMAIL_ADDRESS: ${{secrets.NOTIFY_EMAIL_ADDRESS}}
run: pnpm ts-node scripts/deployRules.ts