Skip to content

App Plugin smoke test (init, build and deploy) #579

App Plugin smoke test (init, build and deploy)

App Plugin smoke test (init, build and deploy) #579

name: App smoke test (init, build and deploy)
on:
workflow_dispatch:
schedule:
# run daily at midnight
- cron: '15 0 * * *'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 1
matrix:
node: [14, 16]
os: [ubuntu-latest]
steps:
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Setup CLI
uses: actions/checkout@master
with:
repository: adobe/aio-cli-plugin-app
- name: Update package.json oclif.plugins
uses: jossef/[email protected]
with:
file: package.json
field: oclif.plugins
value: "[\"@adobe/aio-cli-plugin-app-templates\"]"
parse_json: true
- id: create
name: create app with no extensions
run: |
npm i @adobe/aio-cli-plugin-app-templates
npm i
mkdir ffapp
cd ffapp
../bin/run app:init . -y --no-login --standalone-app > consoleoutput.txt
grep "App initialization finished" consoleoutput.txt
echo AIO_RUNTIME_AUTH=${{secrets.RUNTIME_AUTH}} > .env
echo AIO_RUNTIME_NAMESPACE=${{secrets.RUNTIME_NAMESPACE}} >> .env
../bin/run app:deploy >> consoleoutput.txt
grep "Your deployed actions:" consoleoutput.txt
grep "api/v1/web/ffapp/generic" consoleoutput.txt
grep "/api/v1/web/ffapp/publish-events" consoleoutput.txt
grep ".adobeio-static.net/index.html" consoleoutput.txt
grep "Successful deployment" consoleoutput.txt
- id: app_pack
name: pack an app (uses previous created app)
run: |
cd ffapp
../bin/run app:pack &> consoleoutput.txt
grep "Packaging done." consoleoutput.txt
- id: app_install
name: install an app (uses previous packed app)
run: |
cd ffapp
../bin/run app:install app.zip --output install-folder &> consoleoutput.txt
grep "Install done." consoleoutput.txt
- id: createext
name: create app with extension
run: |
rm -rf ffapp
mkdir ffapp
cd ffapp
../bin/run app:init . -y --no-login --extension dx/excshell/1 > consoleoutput.txt
grep "App initialization finished" consoleoutput.txt
echo AIO_RUNTIME_AUTH=${{secrets.RUNTIME_AUTH}} > .env
echo AIO_RUNTIME_NAMESPACE=${{secrets.RUNTIME_NAMESPACE}} >> .env
../bin/run app:deploy --no-publish >> consoleoutput.txt
grep "Your deployed actions:" consoleoutput.txt
grep "api/v1/web/dx-excshell-1/generic" consoleoutput.txt
grep ".adobeio-static.net/index.html" consoleoutput.txt
grep "Successful deployment" consoleoutput.txt
- name: Setup Asset Compute
uses: actions/checkout@master
with:
repository: adobe/asset-compute-integration-tests
- id: create-asset-compute
name: asset compute smoke integration test
run: |
npm i
./node_modules/mocha/bin/mocha test/index.test.js > consoleoutput.txt
grep "App initialization finished!" consoleoutput.txt
grep "Successful deployment" consoleoutput.txt
grep "Running tests in test/asset-compute/worker" consoleoutput.txt
grep "All tests were successful." consoleoutput.txt
- id: output
name: Write the output to console for debugging
if: ${{ failure() }}
run: |
if [ -d "ffapp" ]; then cd ffapp; fi
cat consoleoutput.txt
- id: slacknotification
name: Slack Notification
if: ${{ failure() }}
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_TITLE: 'Node version'
SLACK_MESSAGE: ${{ matrix.node }}
SLACK_COLOR: ${{ job.status == 'success' && 'good' || job.status == 'cancelled' && '#808080' || 'danger' }}