chore: changeset #259
Workflow file for this run
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: Generate Examples | |
on: | |
push: | |
branches-ignore: | |
- main | |
- changeset-release/main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
generate-examples: | |
name: Create latest examples | |
runs-on: ubuntu-latest | |
outputs: | |
commit_sha: ${{ steps.commit_changes.outputs.commit_long_sha }} | |
steps: | |
- name: Prepare Check Runs | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
checks: | | |
[ | |
{ "id": "packages-unit-int-tests", "name": "Packages unit and Integration tests" }, | |
{ "id": "generate-examples", "name": "Generate latest examples" }, | |
{ "id": "examples-unit-int-tests", "name": "Examples unit and Integration tests" }, | |
{ "id": "examples-e2e-tests", "name": "Examples e2e tests" } | |
] | |
status: "queued" | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: 8 | |
- name: Setup Node.js 18.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: pnpm | |
- name: Make .env.examples file (used in examples configuration.ts) | |
run: | | |
echo "${{ secrets.EXAMPLES_ENV_FILE }}" > .env.examples | |
- name: Make .env file for composable-cli package | |
run: | | |
touch ./packages/composable-cli/.env | |
echo POSTHOG_PUBLIC_API_KEY=${{ secrets.POSTHOG_PUBLIC_API_KEY }} >> ./packages/composable-cli/.env | |
cat ./packages/composable-cli/.env | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Build schematic schema types | |
run: pnpm generate | |
- name: Build packages/* | |
run: pnpm build:packages | |
- name: Report "Run packages unit and Integration tests" starting | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: packages-unit-int-tests | |
status: in_progress | |
- name: Run packages unit and Integration tests | |
run: pnpm test:packages | |
id: packages-unit-int-tests | |
continue-on-error: true | |
- name: Report "Run packages unit and Integration tests" conclusion | |
if: always() | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: packages-unit-int-tests | |
conclusion: ${{ steps.packages-unit-int-tests.outcome }} | |
fail-on-error: true | |
- name: Report "Generate latest examples using script" starting | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: generate-examples | |
status: in_progress | |
- name: Generate latest examples using script | |
id: generate-examples | |
run: pnpm scaffold:local | |
continue-on-error: true | |
- name: Report "Generate latest examples using script" conclusion | |
if: always() | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: generate-examples | |
conclusion: ${{ steps.generate-examples.outcome }} | |
fail-on-error: true | |
- name: Commit changes | |
id: commit_changes | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'chore: generated latest examples' | |
committer_name: GitHub Actions | |
committer_email: 41898282+github-actions[bot]@users.noreply.github.com | |
default_author: github_actions | |
add: '*' | |
- name: Install additional dependencies | |
run: pnpm install | |
- name: Report "Run examples unit/integration tests" starting | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: examples-unit-int-tests | |
status: in_progress | |
- name: Run examples unit/integration tests | |
id: examples-unit-int-tests | |
run: pnpm test | |
continue-on-error: true | |
- name: Report "Run examples unit/integration tests" conclusion | |
if: always() | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: examples-unit-int-tests | |
conclusion: ${{ steps.examples-unit-int-tests.outcome }} | |
fail-on-error: true | |
- name: Make .env.test file | |
run: | | |
echo "${{ secrets.TEST_ENV_FILE }}" > .env.test | |
echo NEXT_PUBLIC_CI=true >> .env.test | |
echo NEXT_PUBLIC_CI=true >> ./examples/basic/.env.test | |
- name: Build everything | |
run: pnpm build:e2e | |
- name: Install playwright browsers | |
run: npx playwright install --with-deps | |
- name: Report "Run examples e2e tests" starting | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: examples-e2e-tests | |
status: in_progress | |
- name: Run e2e tests for latest examples | |
run: pnpm test:e2e | |
id: examples-e2e-tests | |
continue-on-error: true | |
- name: Upload test results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-results | |
path: examples/basic/test-results | |
continue-on-error: true | |
- name: Report "Run examples e2e tests" conclusion | |
if: always() | |
uses: dflydev/check-runs-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
id: examples-e2e-tests | |
conclusion: ${{ steps.examples-e2e-tests.outcome }} | |
fail-on-error: true | |
# commit-latest-examples: | |
# name: Commit latest examples | |
# needs: generate-examples | |
# runs-on: ubuntu-latest | |
# outputs: | |
# commit_sha: ${{ steps.commit_changes.outputs.commit_long_sha }} | |
# steps: | |
# - name: Checkout Repo | |
# uses: actions/checkout@v3 | |
# | |
# - name: Install rimraf | |
# run: npm i -g [email protected] | |
# | |
# - name: Clear all previous examples versions | |
# run: mkdir -p examples && rimraf ./examples/* | |
# | |
# - uses: actions/download-artifact@v3 | |
# with: | |
# path: temp-artifact-workspace | |
# | |
# | |
# | |
# - name: Display structure of downloaded files | |
# run: ls -R | |
# - name: Commit changes | |
# id: commit_changes | |
# uses: EndBug/add-and-commit@v9 | |
# with: | |
# message: 'chore: generated latest ${{ matrix.example }} example' | |
# committer_name: GitHub Actions | |
# committer_email: 41898282+github-actions[bot]@users.noreply.github.com | |
# default_author: github_actions | |
# add: '*' | |
# build: | |
# name: Create latest examples | |
# runs-on: ubuntu-latest | |
# outputs: | |
# commit_sha: ${{ steps.commit_changes.outputs.commit_long_sha }} | |
# steps: | |
# - name: Checkout Repo | |
# uses: actions/checkout@v3 | |
# | |
# - name: Setup Node.js 16.x | |
# uses: actions/setup-node@v3 | |
# with: | |
# node-version: 16.x | |
# | |
# - name: Install Dependencies | |
# run: yarn | |
# | |
# - name: Make .env.examples file | |
# run: | | |
# echo "${{ secrets.EXAMPLES_ENV_FILE }}" > .env.examples | |
# | |
# - name: Build Latest CLI and generate examples | |
# run: yarn examples | |
# | |
# - name: Commit changes | |
# id: commit_changes | |
# uses: EndBug/add-and-commit@v9 | |
# with: | |
# message: 'chore: generate latest examples' | |
# committer_name: GitHub Actions | |
# committer_email: 41898282+github-actions[bot]@users.noreply.github.com | |
# default_author: github_actions | |
# add: '*' | |
# | |
# - name: Display structure of directory pre zip | |
# run: ls -Ra | |
# | |
# - name: Zip build artifact | |
# run: zip app-build.zip ./.next -r | |
# | |
# - name: Display structure of directory post zip | |
# run: ls -Ra | |
# | |
# - name: Upload test results | |
# if: always() | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: app-build | |
# path: ./app-build.zip | |
# | |
# run-unit-basic: | |
# name: Run unit tests for examples | |
# needs: build | |
# defaults: | |
# run: | |
# working-directory: examples/basic | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v3 | |
# | |
# - uses: actions/download-artifact@v3 | |
# with: | |
# name: app-build | |
# | |
# - name: Display structure of downloaded files pre unzip | |
# run: ls -R | |
# | |
# - name: unzip build artifact | |
# run: unzip app-build.zip | |
# | |
# - name: Display structure of downloaded files post unzip | |
# run: ls -R | |
# | |
# - name: Run unit tests for latest examples | |
# run: yarn test:coverage | |
# - name: Upload test results | |
# if: always() | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: coverage | |
# path: examples/basic/coverage | |
# | |
# - name: "Create a check run" | |
# if: ${{ needs.build.outputs.commit_sha }} | |
# uses: actions/github-script@v6 | |
# env: | |
# parameter_url: '${{ github.event.workflow_run.html_url }}' | |
# with: | |
# debug: ${{ secrets.ACTIONS_STEP_DEBUG || false }} | |
# script: | | |
# await github.rest.checks.create({ | |
# owner: context.repo.owner, | |
# repo: context.repo.repo, | |
# head_sha: "${{ needs.build.outputs.commit_sha }}", | |
# name: "Unit Tests", | |
# status: "completed", | |
# conclusion: "success", | |
# output: { | |
# title: "Unit Tests", | |
# summary: "my *check* summary", | |
# text: "my text", | |
# }, | |
# }); | |
# | |
# run-e2e-basic: | |
# name: Run e2e tests for examples | |
# needs: build | |
# defaults: | |
# run: | |
# working-directory: examples/basic | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout files | |
# uses: Bhacaz/checkout-files@v2 | |
# with: | |
# files: examples/basic | |
# branch: ${{ needs.build.outputs.commit_sha || github.sha }} | |
# | |
# - name: Make .env.test file | |
# run: | | |
# echo "${{ secrets.TEST_ENV_FILE }}" > .env.test | |
# | |
# - name: Install Dependencies | |
# run: yarn --ignore-scripts | |
# | |
# - name: Run e2e tests for latest examples | |
# run: yarn test:ci:e2e | |
# - name: Upload test results | |
# if: always() | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: test-results | |
# path: examples/basic/test-results | |
# | |
# - name: "Create a check run" | |
# if: ${{ needs.build.outputs.commit_sha }} | |
# uses: actions/github-script@v6 | |
# env: | |
# parameter_url: '${{ github.event.workflow_run.html_url }}' | |
# with: | |
# debug: ${{ secrets.ACTIONS_STEP_DEBUG || false }} | |
# script: | | |
# await github.rest.checks.create({ | |
# owner: context.repo.owner, | |
# repo: context.repo.repo, | |
# head_sha: "${{ needs.build.outputs.commit_sha }}", | |
# name: "Generate Examples", | |
# status: "completed", | |
# conclusion: "success", | |
# output: { | |
# title: "Generate Examples", | |
# summary: "my *check* summary", | |
# text: "my text", | |
# }, | |
# }); |