inherit secrets for call live workflow #14
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
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' | |