Upgrade to php 8.4.2 #3103
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Docs: https://docs.github.com/en/actions | |
name: CI/CD | |
on: | |
push: | |
branches: ["master"] | |
pull_request: | |
branches: ["master"] | |
jobs: | |
check-syntax: | |
name: Check PHP Syntax | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Harden CI | |
uses: step-security/[email protected] | |
with: | |
egress-policy: audit | |
- name: Setup PHP 8.3 | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.3' | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Check PHP Syntax | |
run: ./bin/checkphpsyntax . | |
docker-build: | |
name: Build Docker image | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Harden CI | |
uses: step-security/[email protected] | |
with: | |
egress-policy: audit | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Composer Data | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer- | |
- name: Build Docker image | |
run: ./bin/build | |
- name: Save Docker image | |
run: docker image save ranger-clubhouse-api:dev | gzip -9 > docker_image.tgz | |
- name: Upload Docker image artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: docker | |
path: docker_image.tgz | |
unit: | |
name: Run unit tests | |
needs: [docker-build] | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Harden CI | |
uses: step-security/[email protected] | |
with: | |
egress-policy: audit | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Download Docker image artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: docker | |
- name: Load Docker image | |
run: gzip --uncompress --stdout docker_image.tgz | docker image load | |
- name: Run unit tests | |
run: ./bin/test_unit | |
docker-test: | |
name: Test Docker image | |
needs: [docker-build] | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Harden CI | |
uses: step-security/[email protected] | |
with: | |
egress-policy: audit | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Download Docker image artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: docker | |
- name: Load Docker image | |
run: gzip --uncompress --stdout docker_image.tgz | docker image load | |
- name: Test Docker image | |
run: ./bin/test_docker | |
deploy-staging: | |
name: Deploy code from master branch to the staging environment | |
needs: [check-syntax, unit, docker-build, docker-test] | |
if: github.ref == 'refs/heads/master' | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Harden CI | |
uses: step-security/[email protected] | |
with: | |
egress-policy: audit | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
- name: Download Docker image artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: docker | |
- name: Load Docker image | |
run: gzip --uncompress --stdout docker_image.tgz | docker image load | |
- name: Install Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: Deploy to staging | |
run: ./bin/deploy staging | |
env: | |
# https://github.com/burningmantech/ranger-secret-clubhouse/settings/secrets | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} | |
AWS_ECR_IMAGE_NAME: ${{ secrets.AWS_ECR_IMAGE_NAME }} | |
AWS_ECS_CLUSTER_STAGING: rangers | |
AWS_ECS_SERVICE_STAGING: ${{ secrets.AWS_ECS_SERVICE_STAGING }} | |
NOTIFY_SMTP_HOST: ${{ secrets.NOTIFY_SMTP_HOST }} | |
NOTIFY_SMTP_USER: ${{ secrets.NOTIFY_SMTP_USER }} | |
NOTIFY_SMTP_PASSWORD: ${{ secrets.NOTIFY_SMTP_PASSWORD }} | |
NOTIFY_EMAIL_RECIPIENT: ${{ secrets.NOTIFY_EMAIL_RECIPIENT }} | |
NOTIFY_EMAIL_SENDER: ${{ secrets.NOTIFY_EMAIL_SENDER }} | |
CI: true | |
PROJECT_NAME: Ranger Secret Clubhouse API Service | |
REPOSITORY_ID: ${{ github.repository }} | |
BUILD_NUMBER: 0 | |
BUILD_URL: https://github.com/burningmantech/ranger-secret-clubhouse/commit/${{ github.sha }}/checks | |
COMMIT_ID: ${{ github.event.head_commit.id }} | |
COMMIT_URL: ${{ github.event.head_commit.url }} | |
COMMIT_AUTHOR_USER: ${{ github.event.head_commit.author.username }} | |
COMMIT_AUTHOR_NAME: ${{ github.event.head_commit.author.name }} | |
COMMIT_AUTHOR_EMAIL: ${{ github.event.head_commit.author.email }} | |
COMMIT_MESSAGE: ${{ github.event.head_commit.message }} |