Skip to content

Handle PHP 8.4 headers & Pressable SFTP retries #8

Handle PHP 8.4 headers & Pressable SFTP retries

Handle PHP 8.4 headers & Pressable SFTP retries #8

Workflow file for this run

# managed-by: opsoasis-repo-sync 9d7f7fc
name: Poseidon
on:
issues:
types: [assigned, labeled]
pull_request:
types: [opened, synchronize]
jobs:
plan:
if: |
github.event_name == 'issues' && (
(github.event.action == 'assigned' && github.event.assignee.login == 'poseidon') ||
(github.event.action == 'labeled' && github.event.label.name == 'poseidon')
)
runs-on: ubuntu-latest
timeout-minutes: 20
concurrency:
group: poseidon-plan-${{ github.event.issue.number }}
cancel-in-progress: true
permissions:
contents: read
issues: write
id-token: write
steps:
- name: Get custom properties
id: props
env:
GH_TOKEN: ${{ github.token }}
run: |
BLOG_ID=$(gh api "repos/${{ github.repository }}/properties/values" \
--jq '.[] | select(.property_name == "wpcom-blog-id") | .value')
SITE_URL=$(gh api "repos/${{ github.repository }}/properties/values" \
--jq '.[] | select(.property_name == "production-url") | .value')
echo "blog_id=$BLOG_ID" >> "$GITHUB_OUTPUT"
echo "site_url=$SITE_URL" >> "$GITHUB_OUTPUT"
- uses: actions/checkout@v6
with:
fetch-depth: 1
- uses: a8cteam51/poseidon-actions/issue-plan@trunk
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
pressable_mcp_token: ${{ secrets.PRESSABLE_MCP_TOKEN }}
wpcom_bearer_token: ${{ secrets.WPCOM_BEARER_TOKEN }}
production_site_id: ${{ steps.props.outputs.blog_id }}
production_site_url: ${{ steps.props.outputs.site_url }}
issue_number: ${{ github.event.issue.number }}
issue_title: ${{ github.event.issue.title }}
issue_body: ${{ github.event.issue.body }}
github_token: ${{ github.token }}
implement:
if: |
github.event_name == 'issues' &&
github.event.action == 'labeled' && github.event.label.name == 'poseidon-implement'
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: poseidon-implement-${{ github.event.issue.number }}
cancel-in-progress: true
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
steps:
- name: Get custom properties
id: props
env:
GH_TOKEN: ${{ github.token }}
run: |
BLOG_ID=$(gh api "repos/${{ github.repository }}/properties/values" \
--jq '.[] | select(.property_name == "wpcom-blog-id") | .value')
SITE_URL=$(gh api "repos/${{ github.repository }}/properties/values" \
--jq '.[] | select(.property_name == "production-url") | .value')
echo "blog_id=$BLOG_ID" >> "$GITHUB_OUTPUT"
echo "site_url=$SITE_URL" >> "$GITHUB_OUTPUT"
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: a8cteam51/poseidon-actions/issue-implement@trunk
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
pressable_mcp_token: ${{ secrets.PRESSABLE_MCP_TOKEN }}
wpcom_bearer_token: ${{ secrets.WPCOM_BEARER_TOKEN }}
production_site_id: ${{ steps.props.outputs.blog_id }}
production_site_url: ${{ steps.props.outputs.site_url }}
issue_number: ${{ github.event.issue.number }}
issue_title: ${{ github.event.issue.title }}
issue_body: ${{ github.event.issue.body }}
github_token: ${{ github.token }}
implement-v2:
if: |
github.event_name == 'issues' &&
github.event.action == 'labeled' && github.event.label.name == 'poseidon-implement-v2'
runs-on: ubuntu-latest
timeout-minutes: 30
concurrency:
group: poseidon-implement-v2-${{ github.event.issue.number }}
cancel-in-progress: true
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
steps:
- name: Get custom properties
id: props
env:
GH_TOKEN: ${{ github.token }}
run: |
BLOG_ID=$(gh api "repos/${{ github.repository }}/properties/values" \
--jq '.[] | select(.property_name == "wpcom-blog-id-production") | .value')
SITE_URL=$(gh api "repos/${{ github.repository }}/properties/values" \
--jq '.[] | select(.property_name == "site-url-production") | .value')
echo "blog_id=$BLOG_ID" >> "$GITHUB_OUTPUT"
echo "site_url=$SITE_URL" >> "$GITHUB_OUTPUT"
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: a8cteam51/poseidon-actions/issue-implement-v2@trunk
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
pressable_mcp_token: ${{ secrets.PRESSABLE_MCP_TOKEN }}
wpcom_bearer_token: ${{ secrets.WPCOM_BEARER_TOKEN }}
production_site_id: ${{ steps.props.outputs.blog_id }}
production_site_url: ${{ steps.props.outputs.site_url }}
issue_number: ${{ github.event.issue.number }}
issue_title: ${{ github.event.issue.title }}
issue_body: ${{ github.event.issue.body }}
github_token: ${{ github.token }}
review:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
timeout-minutes: 20
concurrency:
group: poseidon-review-${{ github.event.pull_request.number }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: write
id-token: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: a8cteam51/poseidon-actions/pr-review@trunk
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ github.token }}