Skip to content

explicitly inherit npm token secret to live test workflow #15

explicitly inherit npm token secret to live test workflow

explicitly inherit npm token secret to live test workflow #15

name: Verify Builder to Plugin Compatibility and Deply Docs
permissions:
id-token: write
contents: read
on:
push:
paths-ignore:
- 'docs/**'
jobs:
cypress-run:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache theme files
id: cache-themes
uses: actions/cache@v4
with:
path: builder_website/src/assets/aura/
key: ${{ runner.os }}-themes-${{ hashFiles('builder_website/src/assets/aura/*') }}
restore-keys: |
${{ runner.os }}-themes-
- name: Download theme files from S3
if: steps.cache-themes.outputs.cache-hit != 'true'
run: |
mkdir -p builder_website/src/assets/aura/
cd builder_website/src/assets/ && ls && cd aura/ && ls && pwd
echo ${GITHUB_WORKSPACE}
aws s3 cp s3://challenges-builder/themes/aura/ ${GITHUB_WORKSPACE}/builder_website/src/assets/aura/ --recursive --no-sign-request --region eu-central-1
- name: Cypress run
uses: cypress-io/github-action@v6
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
with:
working-directory: builder_website/
# project: ./builder_website
config: defaultCommandTimeout=30000,baseUrl=http://localhost:4173
build: npm run build
start: npm run preview
- name: Upload generated JSON files
uses: actions/upload-artifact@v4
with:
name: cypress-artifacts
path: builder_website/path/to/
if-no-files-found: error
plugin-jar-gen:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'adopt'
- name: Cache Maven dependencies
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Generate Jar for validation only
working-directory: plugin
run: mvn -DskipTests=true clean compile package -P e2e
- name: Upload jar
uses: actions/upload-artifact@v4
with:
name: plugin-jar-artifacts
path: plugin/generated_jar/PluginValidation.jar
if-no-files-found: error
plugin-validation:
needs: [cypress-run, plugin-jar-gen]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'adopt'
- name: Download JSON Artifacts and Plugin Validation JAR
uses: actions/download-artifact@v4
with:
path: docs_generation
merge-multiple: true
- name: Display
run: cd docs_generation && ls
- name: Perform validation
working-directory: docs_generation/
run: java -jar PluginValidation.jar .
- name: Upload validation results
uses: actions/upload-artifact@v4
with:
name: Plugin Validation Results
path: docs_generation/results.json
if-no-files-found: error
- name: Check validation results
run: |
if grep -q '"valid": false' docs_generation/results.json; then
echo "Validation failed"
exit 1
else
echo "Validation passed"
fi
deploy-docs:
needs: plugin-validation
runs-on: ubuntu-latest
if: always() && success()
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download JSON Artifacts
uses: actions/download-artifact@v4
with:
name: cypress-artifacts
path: docs_generation
- name: Copy files
run: |
cp -r docs_generation/* docs/static/examples/
- name: Delete downloaded artifact
run: |
rm -rf docs_generation
- name: Commit and push
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Deploy examples JSON files from Cypress E2E to docs
file_pattern: 'docs/static/examples'