Skip to content

use artifacts

use artifacts #54

Workflow file for this run

name: Connect to an AWS role from a GitHub repository
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
permissions:
id-token: write
contents: read
env:
AWS_REGION: "eu-central-1"
jobs:
setup-aws-creds:
name: Setup AWS access
runs-on: ubuntu-latest
outputs:
output1: ${{ steps.artifact-upload-step-aws.outputs.artifact-id }}
steps:
- name: Configure AWS credentials
id: aws_setup
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_GITHUB_ROLE_ARN }}
role-session-name: GitHub_to_AWS
aws-region: ${{ env.AWS_REGION }}
- uses: actions/upload-artifact@v4
id: artifact-upload-step-aws
with:
name: aws-creds
if-no-files-found: error
include-hidden-files: true
path: ~/.aws
setup-infra:
defaults:
run:
working-directory: terraform
name: Setup infra
runs-on: ubuntu-latest
outputs:
output1: ${{ steps.artifact-upload-step.outputs.artifact-id }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3
- name: Set up Terraform
id: set_tf_version
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.9.6
- name: Terraform Init
run: terraform init
- uses: actions/upload-artifact@v4
id: artifact-upload-step
with:
name: terraform root dir
if-no-files-found: error
include-hidden-files: true
path: terraform
check-dir:
name: ls dir
runs-on: ubuntu-latest
needs: [ setup-infra, setup-aws-creds ]
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
- run: |
ls -la
echo Show Main Dir
ls -la ../
terraform-fmt:
name: Terraform fmt
runs-on: ubuntu-latest
needs: [ setup-infra, setup-aws-creds ]
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: terraform root dir
path: ./
- run: terraform fmt
terraform-plan:
name: Terraform Plan
runs-on: ubuntu-latest
needs: [ setup-infra, setup-aws-creds, terraform-fmt ]
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: terraform root dir
path: ./
- run: terraform plan
terraform-apply:
name: Terraform apply
runs-on: ubuntu-latest
needs: [ setup-infra, setup-aws-creds, terraform-fmt, terraform-plan ]
steps:
- name: Download Artifact
uses: actions/download-artifact@v4
with:
name: terraform root dir
path: ./
- run: terraform apply