Skip to content

upload zip file to s3 #270

upload zip file to s3

upload zip file to s3 #270

Workflow file for this run

name: CI
on: [push]
env:
YQ_VERSION: "4.25.1"
jobs:
python:
runs-on: ubuntu-latest
outputs:
forwarder: ${{ steps.forwarder-package.outputs.url }}
steps:
- uses: actions/checkout@v4
- uses: chartboost/ruff-action@v1
- uses: chartboost/ruff-action@v1
with:
args: "format --check"
- uses: actions/upload-artifact@v4
with:
name: forwarder.zip
path: src/*
retention-days: 1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ vars.AWS_REGION }}
role-to-assume: ${{ vars.AWS_IAM_ROLE }}
role-session-name: release_to_dev
- name: Release to Dev
env:
SOURCE_DIR: src/
AWS_S3_BUCKET: "axiom-cloudformation-dev"
DEST_DIR: "code"
run: aws s3 sync --acl public-read ./$SOURCE_DIR s3://$AWS_S3_BUCKET/$DEST_DIR/axiom-cloudwatch-forwarder-v1.0.zip
- name: Set output
id: forwarder-package
run: echo "url=s3://$AWS_S3_BUCKET/$DEST_DIR/axiom-cloudwatch-forwarder-v1.0.zip" >> "$GITHUB_OUTPUT"
cloudformation:
runs-on: ubuntu-latest
needs:
- python
steps:
- uses: actions/checkout@v4
- run: wget https://github.com/mikefarah/yq/releases/download/v$YQ_VERSION/yq_linux_amd64.tar.gz -O - | tar xz && mv yq_linux_amd64 /usr/local/bin/yq
- run: echo "${{ needs.python.outputs.forwarder }}"
- run: |-
mkdir build
yq ".Resources.ForwarderLambda.Properties.Code.ZipFile = \"${{ needs.python.outputs.forwarder }}\" cloudformation-stacks/forwarder.template.yaml > build/axiom-cloudwatch-forwarder-cloudformation-stack.yaml
yq ".Resources.SubscriberLambda.Properties.Code.ZipFile = \"${{ needs.python.outputs.forwarder }}\" cloudformation-stacks/subscriber.template.yaml > build/axiom-cloudwatch-subscriber-cloudformation-stack.yaml
yq ".Resources.UnsubscriberLambda.Properties.Code.ZipFile = \"${{ needs.python.outputs.forwarder }}\" cloudformation-stacks/unsubscriber.template.yaml > build/axiom-cloudwatch-unsubscriber-cloudformation-stack.yaml
yq ".Resources.ListenerLambda.Properties.Code.ZipFile = \"${{ needs.python.outputs.forwarder }}\" cloudformation-stacks/listener.template.yaml > build/axiom-cloudwatch-listener-cloudformation-stack.yaml
- run: cat build/*
- uses: actions/upload-artifact@v4
with:
name: stacks
path: build/*
retention-days: 1
terraform:
name: "terraform fmt"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Terraform Format
id: fmt
run: terraform fmt -recursive -check