GHA: Tests passing env vars to another job

This commit is contained in:
aboyko
2023-11-08 16:17:29 -05:00
parent 8c64dad8a2
commit 37d4f058fa
4 changed files with 44 additions and 6 deletions

12
.github/scripts/akamai-aws-cli-env.sh vendored Executable file
View File

@@ -0,0 +1,12 @@
# Akamai supports assumeRole for Cloudgate S3 access
# The script asks for temp credentials to be able to upload to Akamai S3 origin bucket
# The AWS CLI environment variables are then updated with temp credentials values
session_name=$1
duration_seconds=$2
export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s" \
$(aws sts assume-role \
--role-arn arn:aws:iam::${{ secrets.TOOLS_CLOUDGATE_ACCOUNT_ID }}:role/${{ secrets.TOOLS_CLOUDGATE_USER }} \
--role-session-name $session_name \
--duration-seconds $duration_seconds \
--query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \
--output text))

View File

@@ -4,9 +4,14 @@ on:
workflow_dispatch:
jobs:
akamai-upload:
name: Upload to Akamai
runs-on: ubuntu-latest
outputs:
key_id: ${{ steps.gen-upload.outputs.key_id }}
key_secret: ${{ steps.gen-upload.outputs.key_secret }}
session_token: ${{ steps.gen-upload.outputs.session_token }}
steps:
- name: Gen file and upload
id: gen-upload
@@ -22,6 +27,29 @@ jobs:
$(aws sts assume-role \
--role-arn arn:aws:iam::${{ secrets.TOOLS_CLOUDGATE_ACCOUNT_ID }}:role/${{ secrets.TOOLS_CLOUDGATE_USER }} \
--role-session-name gha-upload \
--duration-seconds=10 \
--query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \
--output text))
aws s3 mv ./$file s3://tools-spring-io/test-akamai/$file
aws s3 rm s3://tools-spring-io/test-akamai/$file
echo "key_id=${AWS_ACCESS_KEY_ID}" >> $GITHUB_OUTPUT
echo "key_secret=${AWS_SECRET_ACCESS_KEY}" >> $GITHUB_OUTPUT
echo "session_token=${AWS_SESSION_TOKEN}" >> $GITHUB_OUTPUT
akamai-test:
name: Test Akamai
runs-on: ubuntu-latest
needs: [ akamai-upload ]
steps:
- name: Test Environment
env:
AWS_ACCESS_KEY_ID: ${{ needs.akamai-upload.outputs.key_id }}
AWS_SECRET_ACCESS_KEY: ${{ needs.akamai-upload.outputs.key_secret }}
AWS_SESSION_TOKEN: ${{ needs.akamai-upload.outputs.session_token }}
run: |
echo $AWS_ACCESS_KEY_ID
echo $AWS_SECRET_ACCESS_KEY
echo $AWS_SESSION_TOKEN

View File

@@ -63,8 +63,8 @@ jobs:
echo "${{ secrets.GPG_PASSPHRASE }}" | gpg --batch --yes --passphrase-fd 0 --import gpg.asc
- name: Build Eclipse LS extensions
env:
tools_s3_access_key: ${{ secrets.TOOLS_S3_ACCESS_KEY }}
tools_s3_secret_key: ${{ secrets.TOOLS_S3_SECRET_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.TOOLS_S3_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.TOOLS_S3_SECRET_KEY }}
gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }}
gpg_keyname: ${{ secrets.GPG_KEYID }}
run: |

View File

@@ -90,8 +90,8 @@
<tycho-version>4.0.0</tycho-version>
<encoding>UTF-8</encoding>
<dist.accessKey>${env.bamboo_vault_tools_s3_accesskey_password}</dist.accessKey>
<dist.secretKey>${env.bamboo_vault_tools_s3_secretkey_password}</dist.secretKey>
<dist.accessKey>${env.AWS_ACCESS_KEY_ID}</dist.accessKey>
<dist.secretKey>${env.AWS_SECRET_ACCESS_KEY}</dist.secretKey>
<dist.bucket>dist.springsource.com</dist.bucket>
<dist.key>TOOLS</dist.key>
@@ -134,8 +134,6 @@
<profile>
<id>gitactions</id>
<properties>
<dist.accessKey>${env.tools_s3_access_key}</dist.accessKey>
<dist.secretKey>${env.tools_s3_secret_key}</dist.secretKey>
<gpg.passphrase>${env.gpg_passphrase}</gpg.passphrase>
<gpg.keyname>${env.gpg_keyname}</gpg.keyname>
<gpg.homedir>${env.gpg_homedir}</gpg.homedir>