Open1
GitHub Actions Environments

name: Multi Account
on:
workflow_dispatch:
pull_request:
jobs:
get_environments:
runs-on: ubuntu-latest
outputs:
environments: ${{ steps.set_environments.outputs.environments }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get Environments
id: set_environments
run: |
environments=$(gh api /repos/${{ github.repository }}/environments --jq '[.environments[].name]')
echo "environments=$environments" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ github.token }}
list_s3_buckets:
needs: get_environments
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
strategy:
matrix:
environment: ${{ fromJson(needs.get_environments.outputs.environments) }}
environment:
name: ${{ matrix.environment }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_ROLE_ARN }}
aws-region: ${{ secrets.AWS_REGION }}
- name: List S3 bucket
run: aws s3 ls s3://test-oac.com