Skip to main content

GitHub Action

Automate certificate checks in your CI/CD pipeline

Quick Start

1

Add your API key

Go to your repository Settings → Secrets → Actions → New secret

Name: APPSCERT_API_KEY
Value: your-api-key-here
2

Create workflow file

Add this to .github/workflows/cert-check.yml

name: Certificate Check
on:
  schedule:
    - cron: '0 9 * * 1' # Every Monday at 9am
  workflow_dispatch: # Manual trigger

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - name: Check Certificates
        uses: appscert/check-certs@v1
        with:
          api-key: ${{ secrets.APPSCERT_API_KEY }}
          warn-days: 30
          fail-days: 7

Workflow Examples

PR Validation

Validate signing setup on every pull request

name: PR Certificate Validation
on:
  pull_request:
    branches: [main]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Validate Signing Setup
        uses: appscert/validate-signing@v1
        with:
          api-key: ${{ secrets.APPSCERT_API_KEY }}
          bundle-id: com.yourapp.id

Pre-Deploy Check

Block deploys if certificates will expire within 24 hours

name: Deploy with Cert Check
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Pre-flight Certificate Check
        uses: appscert/check-certs@v1
        with:
          api-key: ${{ secrets.APPSCERT_API_KEY }}
          fail-days: 1
          bundle-id: com.yourapp.id
      
      - name: Build and Deploy
        run: |
          # Your build steps here
          fastlane release

Inputs Reference

InputRequiredDescription
api-keyYesYour AppsCert API key
bundle-idNoFilter by bundle ID (optional)
warn-daysNoDays until expiry to warn (default: 30)
fail-daysNoDays until expiry to fail (default: 0)