Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create-test-app.sh #133

Merged
merged 7 commits into from Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
134 changes: 32 additions & 102 deletions .github/workflows/e2e.yml
@@ -1,126 +1,56 @@
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
- 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

vite-latest-ts:
vite-cli-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
- uses: actions/checkout@v4
- run: ./create-test-app.sh "npm create vite@latest test-app -- --template vue-ts" --typescript
- uses: cypress-io/github-action@v6
with:
start: npm run test:preview

vite-4:
vite-cli-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
- uses: actions/checkout@v4
- run: ./create-test-app.sh "npm create vite@4 test-app -- --template vue"
- uses: cypress-io/github-action@v6
with:
start: npm run test:preview

vite-4-ts:
vite-cli-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
- uses: actions/checkout@v4
- run: ./create-test-app.sh "npm create vite@4 test-app -- --template vue-ts" --typescript
- uses: cypress-io/github-action@v6
with:
start: npm run test:preview

- name: Build
run: |
cd test-app
npm install
npm install vite-svg-loader --save-dev
npm run build
vue-cli-latest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./create-test-app.sh "npm create vue@latest test-app -- --default"
- uses: cypress-io/github-action@v6
with:
start: npm run test:preview

- name: Test
uses: cypress-io/github-action@v6
vue-cli-latest-ts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./create-test-app.sh "npm create vue@latest test-app -- --default --ts" --typescript
- uses: cypress-io/github-action@v6
with:
start: npm run test:preview
1 change: 1 addition & 0 deletions .npmignore
Expand Up @@ -3,3 +3,4 @@
/example
/cypress
cypress.json
create-test-app.sh
24 changes: 24 additions & 0 deletions create-test-app.sh
@@ -0,0 +1,24 @@
#!/bin/bash

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

# Copy example code and SVGs
cp ./example/src/App.vue ./test-app/src/App.vue
cp ./example/vite.config.ts ./test-app/vite.config.ts
cp ./example/src/vite-env.d.ts ./test-app/src/vite-env.d.ts
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

# Commands when not using typescript
if [[ "$2" != "--typescript" ]]; then
mv ./test-app/vite.config.ts ./test-app/vite.config.js # Rename `.ts` to `.js`
sed -i 's/ lang="ts"//' ./test-app/src/App.vue # Remove `lang="ts"` from `<script>`
fi

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