-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
#216 e2e build lockfile Update pnpm version Fix install command Fix test linear tests Artifact folder Update readme docs, remove e2e_tests folder Pass front-end URL in ENV for e2e Rename task= Update playwright, fix test, fix readme Improve error handling versions / history try split action cache fix order Checkout cache order Fix build fix cache Update rust cache build artifacts build artifact path Build js install pnpm Moar cache Fix pnpm install Fix e2e test artifacts cache fix Fix raycast URL #637 Run e2e Fix init script init Fix e2e upload test Fix e2e snapshot linux
- Loading branch information
Showing
31 changed files
with
237 additions
and
1,077 deletions.
There are no files selected for viewing
File renamed without changes.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,121 +2,131 @@ on: [push, workflow_dispatch] | |
|
||
name: "Build, test, clippy" | ||
jobs: | ||
check: | ||
name: Check | ||
fmt: | ||
name: Rustfmt | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: | | ||
sudo apt-get update | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
components: rustfmt | ||
- name: Rust Cache | ||
uses: Swatinem/rust-cache@v1.3.0 | ||
uses: Swatinem/rust-cache@v2 | ||
- uses: actions-rs/cargo@v1 | ||
with: | ||
command: check | ||
command: fmt | ||
args: --all -- --check | ||
|
||
test: | ||
name: Test Suite | ||
build_js: | ||
name: Build JS assets | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: | | ||
sudo apt-get update | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
- uses: actions/checkout@v2 | ||
- uses: taiki-e/install-action@nextest | ||
- uses: actions-rs/toolchain@v1 | ||
|
||
- uses: pnpm/[email protected] | ||
name: Install pnpm | ||
id: pnpm-install | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
- name: Rust Cache | ||
uses: Swatinem/[email protected] | ||
- uses: actions-rs/cargo@v1 | ||
version: 8 | ||
run_install: false | ||
|
||
- name: Get pnpm store directory | ||
id: pnpm-cache | ||
run: | | ||
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | ||
- uses: actions/cache@v3 | ||
name: Setup pnpm cache | ||
with: | ||
command: nextest | ||
args: run --all-features --retries 3 | ||
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | ||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | ||
restore-keys: | | ||
${{ runner.os }}-pnpm-store- | ||
- name: Install JS deps | ||
working-directory: ./browser/ | ||
run: | | ||
pnpm install | ||
pnpm run playwright-install | ||
- name: Lint JS | ||
working-directory: ./browser/ | ||
run: | | ||
pnpm run lint | ||
- name: Test JS (no e2e) | ||
working-directory: ./browser/ | ||
run: | | ||
pnpm run test | ||
coverage: | ||
name: Code coverage | ||
- name: Build JS | ||
working-directory: ./browser/ | ||
run: | | ||
pnpm run build | ||
- name: Save JS Build Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: build-artifact | ||
path: ./browser/data-browser/dist | ||
e2e: | ||
name: End-to-end tests | ||
runs-on: ubuntu-latest | ||
needs: [build_js] | ||
steps: | ||
- run: | | ||
sudo apt-get update | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
- uses: actions/checkout@v2 | ||
- name: Install Rust and llvm-tools-preview | ||
run: rustup component add llvm-tools-preview --toolchain stable-x86_64-unknown-linux-gnu | ||
- name: Install cargo-llvm-cov | ||
uses: taiki-e/install-action@cargo-llvm-cov | ||
- name: Generate code coverage | ||
run: cargo llvm-cov --all-features --workspace --lcov --locked --output-path lcov.info | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v1 | ||
- uses: actions/checkout@v3 | ||
- name: Download JS Build Artifact | ||
uses: actions/download-artifact@v3 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
files: lcov.info | ||
fail_ci_if_error: true | ||
name: build-artifact | ||
path: ./browser/data-browser/dist | ||
|
||
fmt: | ||
name: Rustfmt | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: | | ||
sudo apt-get update | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
components: clippy | ||
|
||
- name: Rust Cache | ||
uses: Swatinem/[email protected] | ||
- run: rustup component add rustfmt | ||
- uses: actions-rs/cargo@v1 | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
command: fmt | ||
args: --all -- --check | ||
cache-on-failure: true | ||
cache-all-crates: true | ||
|
||
clippy: | ||
name: Clippy | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: | | ||
sudo apt-get update | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
- uses: actions-rs/cargo@v1 | ||
name: cargo build | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
- name: Rust Cache | ||
uses: Swatinem/[email protected] | ||
- run: rustup component add clippy | ||
command: build | ||
args: --locked | ||
|
||
- uses: actions-rs/cargo@v1 | ||
name: cargo clippy | ||
with: | ||
command: clippy | ||
args: --no-deps | ||
|
||
e2e: | ||
name: End-to-end tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- run: | | ||
sudo apt-get update | ||
sudo apt-get install -y webkit2gtk-4.0 libayatana-appindicator3-dev | ||
- uses: taiki-e/install-action@nextest | ||
- uses: actions-rs/cargo@v1 | ||
name: cargo nextest run | ||
with: | ||
command: nextest | ||
args: run --all-features --retries 3 | ||
|
||
- uses: pnpm/[email protected] | ||
name: Install pnpm | ||
id: pnpm-install | ||
with: | ||
version: 7 | ||
version: 8 | ||
run_install: false | ||
|
||
- name: Get pnpm store directory | ||
|
@@ -132,28 +142,36 @@ jobs: | |
restore-keys: | | ||
${{ runner.os }}-pnpm-store- | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
profile: minimal | ||
toolchain: stable | ||
override: true | ||
- name: Rust Cache | ||
uses: Swatinem/[email protected] | ||
- uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
args: --locked | ||
- run: nohup ./target/debug/atomic-server & | ||
- name: Setup and run end-to-end tests | ||
working-directory: ./server/e2e_tests/ | ||
- name: Install Playwright | ||
working-directory: ./browser/ | ||
run: | | ||
pnpm install | ||
pnpm run install-playwright | ||
pnpm run test | ||
pnpm run playwright-install | ||
- name: Run atomic-server in the background | ||
run: nohup ./target/debug/atomic-server --initialize & | ||
|
||
- name: Run end-to-end tests | ||
working-directory: ./browser/ | ||
env: | ||
FRONTEND_URL: http://localhost:9883 | ||
run: pnpm run test-e2e | ||
|
||
# Coverage | ||
- name: Install cargo-llvm-cov | ||
uses: taiki-e/install-action@cargo-llvm-cov | ||
- name: Generate code coverage | ||
run: cargo llvm-cov --all-features --workspace --lcov --locked --output-path lcov.info | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
files: lcov.info | ||
fail_ci_if_error: true | ||
|
||
- name: Upload test artifacts | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: test-results | ||
path: ./server/e2e_tests/test-results/ | ||
path: ./browser/data-browser/test-results/ |
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
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
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
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
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.