mirror of
https://github.com/aws-actions/configure-aws-credentials.git
synced 2026-03-12 18:07:10 -04:00
feat: Build and integ test scripts for pipeline
This commit is contained in:
14
buildspec.yml
Normal file
14
buildspec.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
version: 0.2
|
||||
|
||||
phases:
|
||||
install:
|
||||
runtime-versions:
|
||||
nodejs: 10
|
||||
build:
|
||||
commands:
|
||||
# Run unit tests
|
||||
- npm ci
|
||||
- npm run test
|
||||
artifacts:
|
||||
files:
|
||||
- '**/*'
|
||||
18
buildspec_check_dist.yml
Normal file
18
buildspec_check_dist.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
version: 0.2
|
||||
|
||||
phases:
|
||||
install:
|
||||
runtime-versions:
|
||||
nodejs: 10
|
||||
build:
|
||||
commands:
|
||||
# Validate that the dist/ folder has the latest code packaged.
|
||||
# If there are unpackaged changes, this build will fail.
|
||||
# The GitHub Actions 'package' workflow will eventually run
|
||||
# and will sync the dist folder, which will re-trigger this build.
|
||||
- npm ci
|
||||
- npm run package
|
||||
- git diff --exit-code dist/index.js
|
||||
artifacts:
|
||||
files:
|
||||
- '**/*'
|
||||
24
buildspec_integ.yml
Normal file
24
buildspec_integ.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
version: 0.2
|
||||
|
||||
env:
|
||||
variables:
|
||||
GITHUB_HUB_CLI_VERSION: 2.13.0
|
||||
|
||||
phases:
|
||||
install:
|
||||
runtime-versions:
|
||||
nodejs: 10
|
||||
build:
|
||||
commands:
|
||||
# Install hub CLI
|
||||
- wget https://github.com/github/hub/releases/download/v$GITHUB_HUB_CLI_VERSION/hub-linux-amd64-$GITHUB_HUB_CLI_VERSION.tgz
|
||||
- tar -xzvf hub-linux-amd64-$GITHUB_HUB_CLI_VERSION.tgz && sudo mv hub-linux-amd64-$GITHUB_HUB_CLI_VERSION/bin/hub /usr/local/bin
|
||||
|
||||
# Configure git client
|
||||
- git config user.name "CodeBuild Integration Test"
|
||||
- git config user.email $COMMIT_EMAIL_ADDRESS
|
||||
- git config credential.helper "store --file=.git/credentials"
|
||||
- echo "https://${GITHUB_TOKEN}:@github.com" > .git/credentials
|
||||
|
||||
# Run integration tests
|
||||
- ./run_integ_test.sh
|
||||
25
run_integ_test.sh
Executable file
25
run_integ_test.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
# Retrieve the action commit ID to test
|
||||
ACTION_GIT_COMMIT_ID=`git rev-parse HEAD`
|
||||
|
||||
# Update the integ test action workflow file with the latest action commit ID
|
||||
git checkout integ-tests
|
||||
sed -i 's|aws-actions/configure-aws-credentials@v1|aws-actions/configure-aws-credentials@$ACTION_GIT_COMMIT_ID|g' test-workflow.yml
|
||||
cp test-workflow.yml .github/workflows
|
||||
git add .github/workflows
|
||||
git commit -m "Test commit $ACTION_GIT_COMMIT_ID"
|
||||
|
||||
# Trigger the action workflow
|
||||
git push origin integ-tests
|
||||
|
||||
# Validate that the action workflow succeeds
|
||||
# Exit codes: success = 0; failure = 1; pending = 2; no status = 3
|
||||
while hub ci-status; [ $? -ge 2 ] do
|
||||
echo "waiting for test workflow to complete..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
hub ci-status
|
||||
Reference in New Issue
Block a user