diff --git a/.env.example b/.env.example index ada60d43c..8b8eb1ef1 100644 --- a/.env.example +++ b/.env.example @@ -56,6 +56,11 @@ SESSION_DOMAIN=null # since it needs no real DNS. # AFFILIATE_SUBDOMAIN=affiliate.affilstack.com +# The developer portal (add-on marketplace developers) on its own +# subdomain. Point its DNS at this same application. Leave unset to serve +# it from /developers on the app instead. +# DEVELOPER_SUBDOMAIN=developer.affilstack.com + BROADCAST_CONNECTION=log FILESYSTEM_DISK=local QUEUE_CONNECTION=database @@ -108,6 +113,14 @@ STRIPE_PUBLISHABLE_KEY= STRIPE_SECRET_KEY= STRIPE_WEBHOOK_SECRET= +# --- AffilStack: Paystack and PayPal (optional payment gateways) --- +# PAYSTACK_PUBLIC_KEY= +# PAYSTACK_SECRET_KEY= +# PAYSTACK_USD_TO_NGN_RATE=1600 +# PAYPAL_CLIENT_ID= +# PAYPAL_CLIENT_SECRET= +# PAYPAL_WEBHOOK_ID= + # --- AffilStack: Google Places (Phase 2, Google Maps lead-finding) --- GOOGLE_PLACES_API_KEY= diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ae67c4dd8..2a12c0fdc 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,3 +10,27 @@ updates: github-actions: patterns: - "*" + + # PHP and JavaScript libraries: security fixes arrive as pull requests, + # which the Tests workflow checks on PHP 8.4 and 8.5 before merging. + - package-ecosystem: "composer" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + groups: + composer-patches: + update-types: + - "patch" + - "minor" + + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + groups: + npm-patches: + update-types: + - "patch" + - "minor" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 136bd35f6..72abda1a4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -3,7 +3,9 @@ name: Tests on: push: branches: + - main - master + - affilstack-app - '*.x' pull_request: schedule: @@ -19,7 +21,7 @@ jobs: strategy: fail-fast: true matrix: - php: [8.3, 8.4, 8.5] + php: [8.4, 8.5] name: PHP ${{ matrix.php }} @@ -39,6 +41,19 @@ jobs: - name: Install Composer dependencies run: composer install --prefer-dist --no-interaction --no-progress + # Pages load the built CSS/JS (public/build is not committed), so the + # tests need the front end built first. + - name: Setup Node + uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 + with: + node-version: 22 + cache: npm + + - name: Build front end + run: | + npm ci --no-audit --no-fund + npm run build + - name: Copy environment file run: cp .env.example .env diff --git a/.hostinger/site.json b/.hostinger/site.json new file mode 100644 index 000000000..7c16f25a7 --- /dev/null +++ b/.hostinger/site.json @@ -0,0 +1,11 @@ +{ + "domain": "affilstack.com", + "username": "u281901129", + "type": "php", + "layout": "releases", + "releases": "/home/u281901129/domains/affilstack.com/releases/