Skip to content

Commit

Permalink
Merge branch 'release/0.12.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
nwtgck committed Dec 26, 2022
2 parents e21fab7 + 2c6616d commit 736afb0
Show file tree
Hide file tree
Showing 38 changed files with 6,189 additions and 2,165 deletions.
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ module.exports = {
'no-console': 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-unused-vars': 'off',
'no-constant-condition': 'off',
'vue/no-unused-vars': 'off',
'vue/multi-word-component-names': 'off',
},
Expand Down
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ updates:
- nwtgck
assignees:
- nwtgck
- package-ecosystem: npm
directory: "/e2e-test"
schedule:
interval: daily
timezone: Asia/Tokyo
open-pull-requests-limit: 99
reviewers:
- nwtgck
assignees:
- nwtgck
- package-ecosystem: github-actions
directory: "/"
schedule:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cloudflare-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v3

- uses: actions/setup-node@v3.4.1
- uses: actions/setup-node@v3.5.1
with:
node-version: 16.x
# base: https://github.com/actions/setup-node/issues/214#issuecomment-810829250
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/e2e-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: E2E testing

on:
push:

jobs:
test:
strategy:
matrix:
include:
# Chrome 84.0 is the oldest version available on selenium/standalone-xxx.
# Firefox 78.0 is also the oldest available on selenium/standalone-xxx.

# [Purposes]
# fetch() upload streaming: the latest version of Chrome used in this test
# Non fetch()-upload streaming: the other browser
# Streaming download: All browser with disable_service_worker=false
# Non-streaming download: disable_service_worker=true
# Fallback to posting chunks of ReadableStream over MessageChannel: chrome:84.0

# "selenium/standalone-${e2e_docker_image_fragment}"
# Why fragment? These short names are more readable in GitHub UI
- e2e_docker_image_fragment: chrome:108.0
- e2e_docker_image_fragment: chrome:84.0
- e2e_docker_image_fragment: firefox:108.0
- e2e_docker_image_fragment: firefox:78.0
- e2e_docker_image_fragment: firefox:108.0
e2e_service_worker_disable: true
- e2e_docker_image_fragment: firefox:78.0
e2e_service_worker_disable: true

runs-on: ubuntu-20.04
timeout-minutes: 10
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16.x
cache: 'npm'
cache-dependency-path: |
package-lock.json
e2e-test/package-lock.json
- name: Install dependencies
run: |
set -eu
npm ci &
(cd e2e-test && npm ci) &
wait
- name: E2E test (${{ matrix.e2e_docker_image_fragment }})
run: cd e2e-test && E2E_DOCKER_IMAGE=selenium/standalone-${{ matrix.e2e_docker_image_fragment }} E2E_DISABLE_SERVICE_WORKER=${{ matrix.e2e_service_worker_disable }} npm start
8 changes: 4 additions & 4 deletions .github/workflows/netlify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:

steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3.4.1
- uses: actions/setup-node@v3.5.1
with:
node-version: 16.x
# base: https://github.com/actions/setup-node/issues/214#issuecomment-810829250
Expand All @@ -25,7 +25,7 @@ jobs:
- run: SITE_URL="https://piping-ui.org" npm run build

- name: Deploy to Netlify
uses: nwtgck/actions-netlify@v1.2
uses: nwtgck/actions-netlify@v2.0
with:
publish-dir: './dist'
production-branch: master
Expand All @@ -41,11 +41,11 @@ jobs:

- name: Generate Netlify alias
shell: bash
run: ruby -e 'puts "::set-output name=netlify_alias::#{`git branch --show-current`.chomp.gsub(/[^a-zA-Z\d]/){"-"}.downcase}"'
run: ruby -e 'puts "netlify_alias=#{`git branch --show-current`.chomp.gsub(/[^a-zA-Z\d]/){"-"}.downcase}"' >> $GITHUB_OUTPUT
id: get_netlify_alias
# For branch deploy
- name: Deploy to Netlify (branch)
uses: nwtgck/actions-netlify@v1.2
uses: nwtgck/actions-netlify@v2.0
with:
publish-dir: './dist'
github-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/vue-upgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3.4.1
- uses: actions/setup-node@v3.5.1
with:
node-version: 16.x
- run: npm ci
Expand Down
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)

## [Unreleased]

## [0.12.0] - 2022-12-26
### Change
- Update dependencies
- Robust and streaming transfer for every browser when using passwordless protection

### Added
- (internal) Add E2E testing

### Fixed
- Improve HTTP status checking

## [0.11.0] - 2022-09-20
### Change
- Improve error message in key exchange
Expand Down Expand Up @@ -411,7 +422,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
### Added
- First release

[Unreleased]: https://github.com/nwtgck/piping-ui-web/compare/v0.11.0...HEAD
[Unreleased]: https://github.com/nwtgck/piping-ui-web/compare/v0.12.0...HEAD
[0.12.0]: https://github.com/nwtgck/piping-ui-web/compare/v0.12.0...v0.11.0
[0.11.0]: https://github.com/nwtgck/piping-ui-web/compare/v0.10.0...v0.11.0
[0.10.0]: https://github.com/nwtgck/piping-ui-web/compare/v0.9.0...v0.10.0
[0.9.0]: https://github.com/nwtgck/piping-ui-web/compare/v0.8.0...v0.9.0
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Piping UI
[![main](https://github.com/nwtgck/piping-ui-web/workflows/main/badge.svg)](https://github.com/nwtgck/piping-ui-web/actions?query=workflow%3Amain)
[![Cloudflare Pages](https://github.com/nwtgck/piping-ui-web/actions/workflows/cloudflare-pages.yml/badge.svg)](https://github.com/nwtgck/piping-ui-web/actions/workflows/cloudflare-pages.yml) [![E2E testing](https://github.com/nwtgck/piping-ui-web/actions/workflows/e2e-test.yml/badge.svg)](https://github.com/nwtgck/piping-ui-web/actions/workflows/e2e-test.yml)
<a href="https://piping-ui.org"><img src="https://user-images.githubusercontent.com/9122190/28998409-c5bf7362-7a00-11e7-9b63-db56694522e7.png" alt="Launch now as Web App" height="48"></a>

Web UI for [Piping Server](https://github.com/nwtgck/piping-server) - Easy and secure file transfer between every device over HTTPS
Expand Down
1 change: 1 addition & 0 deletions e2e-test/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/node_modules
Empty file added e2e-test/.npmignore
Empty file.
27 changes: 27 additions & 0 deletions e2e-test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# e2e-test

## Purpose of E2E test
* Ensure transferring in any browser

Modern browsers have a lot of rich features in general.
Piping UI uses the rich features for providing better experience and also supports old browsers which does not have those.
Therefore, Piping UI has some fallbacks.
This E2E test ensures transferring, which is the core function of Piping UI, in an environment with those fallbacks.

## Non-goal
* UI design confirmation

## TIPS: Faster development

Run as follows and wait for 4000 served.

```bash
cd ..
PORT=4000 npm run serve
```

Run as follows to E2E test

```bash
E2E_DOCKER_IMAGE=selenium/standalone-firefox:78.0 npm start
```
Loading

0 comments on commit 736afb0

Please sign in to comment.