forked from coralogix/coralogix-aws-serverless
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
151 additions
and
151 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,151 +1,151 @@ | ||
name: Release | ||
|
||
on: | ||
push: | ||
branches-ignore: [master] | ||
pull_request: | ||
types: [closed] | ||
branches: [master] | ||
|
||
env: | ||
AWS_DEFAULT_REGION: eu-central-1 | ||
|
||
jobs: | ||
check: | ||
name: Check | ||
runs-on: ubuntu-latest | ||
outputs: | ||
packages: ${{ steps.get-changed-packages.outputs.packages }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
persist-credentials: false | ||
fetch-depth: 0 | ||
|
||
- name: Get Changed Packages | ||
id: get-changed-packages | ||
run: | | ||
export PACKAGES=$(git diff --name-only --diff-filter=d ${{ github.event.pull_request.base.sha || 'origin/master' }} ${{ github.sha }} src/ | xargs -n1 dirname | sed -r 's/src\/([^\/]+).*$/src\/\1/g' | xargs -n1 basename | sort | uniq | jq -rcnR '[inputs]') | ||
echo "::set-output name=packages::$PACKAGES" | ||
validate: | ||
name: Validate | ||
runs-on: ubuntu-latest | ||
needs: check | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
package: ${{ fromJSON(needs.check.outputs.packages) }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- uses: aws-actions/setup-sam@v2 | ||
with: | ||
use-installer: true | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
uses: aws-actions/configure-aws-credentials@v2 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | ||
aws-region: ${{ env.AWS_DEFAULT_REGION }} | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
name: Validate | ||
working-directory: src/${{ matrix.package }} | ||
run: sam validate | ||
|
||
build: | ||
name: Build | ||
runs-on: ubuntu-latest | ||
env: | ||
AWS_SERVERLESS_BUCKET: coralogix-serverless-repo | ||
needs: [check, validate] | ||
strategy: | ||
matrix: | ||
package: ${{ fromJSON(needs.check.outputs.packages) }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- uses: aws-actions/setup-sam@v2 | ||
with: | ||
use-installer: true | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
uses: aws-actions/configure-aws-credentials@v2 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | ||
aws-region: ${{ env.AWS_DEFAULT_REGION }} | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
name: Build | ||
working-directory: ./src/${{ matrix.package }} | ||
run: sam build --use-container | ||
|
||
- name: Package | ||
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.merged == true && matrix.package != 'helper'}} | ||
working-directory: ./src/${{ matrix.package }} | ||
run: | | ||
sam package \ | ||
--s3-bucket gr-integrations-aws-testing \ | ||
--s3-prefix ${{ matrix.package }} \ | ||
--output-template-file packaged.yaml | ||
- name: Store | ||
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.merged == true && matrix.package != 'helper' }} | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ matrix.package }}-packaged.yaml | ||
path: src/${{ matrix.package }}/packaged.yaml | ||
|
||
publish: | ||
name: Publish | ||
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.merged == true }} | ||
runs-on: ubuntu-latest | ||
env: | ||
AWS_SERVERLESS_BUCKET: coralogix-serverless-repo | ||
needs: | ||
- check | ||
- build | ||
|
||
strategy: | ||
matrix: | ||
package: ${{ fromJSON(needs.check.outputs.packages) }} | ||
steps: | ||
- uses: aws-actions/setup-sam@v2 | ||
with: | ||
use-installer: true | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
name: Download | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: ${{ matrix.package }}-packaged.yaml | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
uses: aws-actions/configure-aws-credentials@v2 | ||
with: | ||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | ||
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | ||
aws-region: ${{ env.AWS_DEFAULT_REGION }} | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
name: Publish | ||
run: sam publish --template packaged.yaml | ||
|
||
- if: ${{ matrix.package != 'helper' }} | ||
name: Store | ||
run: | | ||
aws s3 cp \ | ||
$(yq -r '.Resources | to_entries | .[] | select(.key == "LambdaLayer" or .key == "LambdaFunction") | .value.Properties | to_entries | .[] | select(.key == "ContentUri" or .key == "CodeUri") | .value' packaged.yaml) \ | ||
gr-integrations-aws-testing | ||
- if: ${{ matrix.package == 'helper' }} | ||
name: upload helper | ||
run: | | ||
zip -r -q helper.zip . -i ./src/helper | ||
aws s3 cp helper.zip s3://gr-integrations-aws-testing | ||
# name: Release | ||
|
||
# on: | ||
# push: | ||
# branches-ignore: [master] | ||
# pull_request: | ||
# types: [closed] | ||
# branches: [master] | ||
|
||
# env: | ||
# AWS_DEFAULT_REGION: eu-central-1 | ||
|
||
# jobs: | ||
# check: | ||
# name: Check | ||
# runs-on: ubuntu-latest | ||
# outputs: | ||
# packages: ${{ steps.get-changed-packages.outputs.packages }} | ||
# steps: | ||
# - name: Checkout | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# persist-credentials: false | ||
# fetch-depth: 0 | ||
|
||
# - name: Get Changed Packages | ||
# id: get-changed-packages | ||
# run: | | ||
# export PACKAGES=$(git diff --name-only --diff-filter=d ${{ github.event.pull_request.base.sha || 'origin/master' }} ${{ github.sha }} src/ | xargs -n1 dirname | sed -r 's/src\/([^\/]+).*$/src\/\1/g' | xargs -n1 basename | sort | uniq | jq -rcnR '[inputs]') | ||
# echo "::set-output name=packages::$PACKAGES" | ||
|
||
# validate: | ||
# name: Validate | ||
# runs-on: ubuntu-latest | ||
# needs: check | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: | ||
# package: ${{ fromJSON(needs.check.outputs.packages) }} | ||
# steps: | ||
# - name: Checkout | ||
# uses: actions/checkout@v3 | ||
|
||
# - uses: aws-actions/setup-sam@v2 | ||
# with: | ||
# use-installer: true | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# uses: aws-actions/configure-aws-credentials@v2 | ||
# with: | ||
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | ||
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | ||
# aws-region: ${{ env.AWS_DEFAULT_REGION }} | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# name: Validate | ||
# working-directory: src/${{ matrix.package }} | ||
# run: sam validate | ||
|
||
# build: | ||
# name: Build | ||
# runs-on: ubuntu-latest | ||
# env: | ||
# AWS_SERVERLESS_BUCKET: coralogix-serverless-repo | ||
# needs: [check, validate] | ||
# strategy: | ||
# matrix: | ||
# package: ${{ fromJSON(needs.check.outputs.packages) }} | ||
# steps: | ||
# - name: Checkout | ||
# uses: actions/checkout@v3 | ||
|
||
# - uses: aws-actions/setup-sam@v2 | ||
# with: | ||
# use-installer: true | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# uses: aws-actions/configure-aws-credentials@v2 | ||
# with: | ||
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | ||
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | ||
# aws-region: ${{ env.AWS_DEFAULT_REGION }} | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# name: Build | ||
# working-directory: ./src/${{ matrix.package }} | ||
# run: sam build --use-container | ||
|
||
# - name: Package | ||
# if: ${{ github.event_name == 'pull_request' && github.event.pull_request.merged == true && matrix.package != 'helper'}} | ||
# working-directory: ./src/${{ matrix.package }} | ||
# run: | | ||
# sam package \ | ||
# --s3-bucket gr-integrations-aws-testing \ | ||
# --s3-prefix ${{ matrix.package }} \ | ||
# --output-template-file packaged.yaml | ||
|
||
# - name: Store | ||
# if: ${{ github.event_name == 'pull_request' && github.event.pull_request.merged == true && matrix.package != 'helper' }} | ||
# uses: actions/upload-artifact@v3 | ||
# with: | ||
# name: ${{ matrix.package }}-packaged.yaml | ||
# path: src/${{ matrix.package }}/packaged.yaml | ||
|
||
# publish: | ||
# name: Publish | ||
# if: ${{ github.event_name == 'pull_request' && github.event.pull_request.merged == true }} | ||
# runs-on: ubuntu-latest | ||
# env: | ||
# AWS_SERVERLESS_BUCKET: coralogix-serverless-repo | ||
# needs: | ||
# - check | ||
# - build | ||
|
||
# strategy: | ||
# matrix: | ||
# package: ${{ fromJSON(needs.check.outputs.packages) }} | ||
# steps: | ||
# - uses: aws-actions/setup-sam@v2 | ||
# with: | ||
# use-installer: true | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# name: Download | ||
# uses: actions/download-artifact@v3 | ||
# with: | ||
# name: ${{ matrix.package }}-packaged.yaml | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# uses: aws-actions/configure-aws-credentials@v2 | ||
# with: | ||
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} | ||
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} | ||
# aws-region: ${{ env.AWS_DEFAULT_REGION }} | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# name: Publish | ||
# run: sam publish --template packaged.yaml | ||
|
||
# - if: ${{ matrix.package != 'helper' }} | ||
# name: Store | ||
# run: | | ||
# aws s3 cp \ | ||
# $(yq -r '.Resources | to_entries | .[] | select(.key == "LambdaLayer" or .key == "LambdaFunction") | .value.Properties | to_entries | .[] | select(.key == "ContentUri" or .key == "CodeUri") | .value' packaged.yaml) \ | ||
# gr-integrations-aws-testing | ||
|
||
# - if: ${{ matrix.package == 'helper' }} | ||
# name: upload helper | ||
# run: | | ||
# zip -r -q helper.zip . -i ./src/helper | ||
# aws s3 cp helper.zip s3://gr-integrations-aws-testing |