Skip to content

Commit

Permalink
Add create-test-app.sh script
Browse files Browse the repository at this point in the history
  • Loading branch information
jpkleemans committed Nov 21, 2023
1 parent 558e1e8 commit d197a0c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 119 deletions.
123 changes: 4 additions & 119 deletions .github/workflows/e2e.yml
@@ -1,126 +1,11 @@
name: End-to-end tests
on: [push]
jobs:
vite-latest:
vite-cli-latest:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install vue
run: npm create vite@latest test-app -- --template vue

- name: Add example code
run: |
mv ./example/src/App.vue ./test-app/src/App.vue
sed -i 's/ lang="ts"//' ./test-app/src/App.vue
mv ./example/vite.config.ts ./test-app/vite.config.js
mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg
mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg
mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg
mv ./example/public/root.svg ./test-app/public/root.svg
- name: Build
run: |
cd test-app
npm install
npm install vite-svg-loader --save-dev
npm run build
- name: Test
uses: cypress-io/github-action@v6
with:
start: npm run test:preview

vite-latest-ts:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install vue-ts
run: npm create vite@latest test-app -- --template vue-ts

- name: Add example code
run: |
mv ./example/src/App.vue ./test-app/src/App.vue
mv ./example/vite.config.ts ./test-app/vite.config.ts
mv ./example/src/vite-env.d.ts ./test-app/src/vite-env.d.ts
mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg
mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg
mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg
mv ./example/public/root.svg ./test-app/public/root.svg
- name: Build
run: |
cd test-app
npm install
npm install vite-svg-loader --save-dev
npm run build
- name: Test
uses: cypress-io/github-action@v6
with:
start: npm run test:preview

vite-4:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install vue
run: npm create vite@4 test-app -- --template vue

- name: Add example code
run: |
mv ./example/src/App.vue ./test-app/src/App.vue
sed -i 's/ lang="ts"//' ./test-app/src/App.vue
mv ./example/vite.config.ts ./test-app/vite.config.js
mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg
mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg
mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg
mv ./example/public/root.svg ./test-app/public/root.svg
- name: Build
run: |
cd test-app
npm install
npm install vite-svg-loader --save-dev
npm run build
- name: Test
uses: cypress-io/github-action@v6
with:
start: npm run test:preview

vite-4-ts:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install vue-ts
run: npm create vite@4 test-app -- --template vue-ts

- name: Add example code
run: |
mv ./example/src/App.vue ./test-app/src/App.vue
mv ./example/vite.config.ts ./test-app/vite.config.ts
mv ./example/src/vite-env.d.ts ./test-app/src/vite-env.d.ts
mv ./example/src/assets/test.svg ./test-app/src/assets/test.svg
mv ./example/src/assets/style.svg ./test-app/src/assets/style.svg
mv ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg
mv ./example/public/root.svg ./test-app/public/root.svg
- name: Build
run: |
cd test-app
npm install
npm install vite-svg-loader --save-dev
npm run build
- name: Test
uses: cypress-io/github-action@v6
- uses: actions/checkout@v4
- run: ./create-test-app.sh "npm create vite@latest test-app -- --template vue"
- uses: cypress-io/github-action@v6
with:
start: npm run test:preview
22 changes: 22 additions & 0 deletions create-test-app.sh
@@ -0,0 +1,22 @@
#!/bin/bash

$1 # Install vue command, project name should be `test-app`

# Copy example code and svg's
cp ./example/src/App.vue ./test-app/src/App.vue
cp ./example/vite.config.ts ./test-app/vite.config.js
cp ./example/src/assets/test.svg ./test-app/src/assets/test.svg
cp ./example/src/assets/style.svg ./test-app/src/assets/style.svg
cp ./example/src/assets/circle.svg ./test-app/src/assets/circle.svg
cp ./example/public/root.svg ./test-app/public/root.svg

# Remove `lang="ts"` from `<script>`` if project is not using typescript
if [[ "$2" != "--typescript" ]]; then
sed -i 's/ lang="ts"//' ./test-app/src/App.vue
fi

# Install and build app
cd ./test-app
npm install
npm install vite-svg-loader --save-dev
npm run build

0 comments on commit d197a0c

Please sign in to comment.