mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
chore: use actions-cache to speed up CI.
This commit is contained in:
parent
e282a7672f
commit
3021bdc1af
130
.github/workflows/ci.yaml
vendored
130
.github/workflows/ci.yaml
vendored
@ -1,79 +1,83 @@
|
|||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches:
|
||||||
|
- 'main'
|
||||||
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches:
|
||||||
|
- 'main'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-macos:
|
build:
|
||||||
runs-on: macOS-latest
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest]
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
flutter_profile: development-linux-x86
|
||||||
|
- os: macos-latest
|
||||||
|
flutter_profile: development-mac
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- uses: actions/checkout@v2
|
||||||
uses: actions/checkout@v2
|
|
||||||
- uses: actions-rs/toolchain@v1
|
- id: rust_toolchain
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
toolchain: stable
|
||||||
- name: Checkout Flutter
|
|
||||||
uses: actions/checkout@v2
|
- id: flutter
|
||||||
|
uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
repository: flutter/flutter
|
channel: 'stable'
|
||||||
path: flutter
|
cache: true
|
||||||
- name: Flutter
|
|
||||||
working-directory: flutter
|
- name: Cache Cargo
|
||||||
run: |
|
uses: actions/cache@v2
|
||||||
echo "$(pwd)/bin" >> $GITHUB_PATH
|
with:
|
||||||
export PATH="$PATH:$(pwd)/bin"
|
path: |
|
||||||
flutter channel stable
|
~/.cargo
|
||||||
flutter config --enable-macos-desktop
|
key: ${{ runner.os }}-cargo-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }}
|
||||||
flutter doctor
|
|
||||||
|
- name: Cache Rust
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
frontend/rust-lib/target
|
||||||
|
key: ${{ runner.os }}-rust-${{ steps.rust_toolchain.outputs.rustc_hash }}-${{ hashFiles('./frontend/rust-lib/Cargo.toml') }}
|
||||||
|
|
||||||
|
- name: Setup Environment
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
|
sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
|
||||||
|
sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
|
||||||
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
echo 'do nothing'
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Deps
|
- name: Deps
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
run: |
|
run: |
|
||||||
cargo install --force cargo-make
|
cargo install cargo-make
|
||||||
cargo install --force duckscript_cli
|
cargo install duckscript_cli
|
||||||
cargo make flowy_dev
|
cargo make flowy_dev
|
||||||
echo PATH="$PATH":"$HOME/.pub-cache/bin" >> $GITHUB_PATH
|
|
||||||
|
- name: Config Flutter
|
||||||
|
run: |
|
||||||
|
if [ "$RUNNER_OS" == "Linux" ]; then
|
||||||
|
flutter config --enable-linux-desktop
|
||||||
|
elif [ "$RUNNER_OS" == "macOS" ]; then
|
||||||
|
flutter config --enable-macos-desktop
|
||||||
|
fi
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
run: cargo make --profile production-mac-x86 appflowy
|
|
||||||
build-ubuntu:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: Packages
|
|
||||||
run: |
|
run: |
|
||||||
sudo wget -qO /etc/apt/trusted.gpg.d/dart_linux_signing_key.asc https://dl-ssl.google.com/linux/linux_signing_key.pub
|
cargo make --profile ${{ matrix.flutter_profile }} appflowy-dev
|
||||||
sudo wget -qO /etc/apt/sources.list.d/dart_stable.list https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y dart curl build-essential libsqlite3-dev libssl-dev clang cmake ninja-build pkg-config libgtk-3-dev
|
|
||||||
- name: Rust
|
|
||||||
run: |
|
|
||||||
curl \
|
|
||||||
--proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
||||||
source $HOME/.cargo/env
|
|
||||||
rustup toolchain install stable
|
|
||||||
rustup default stable
|
|
||||||
- name: Checkout Flutter
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: flutter/flutter
|
|
||||||
path: flutter
|
|
||||||
- name: Flutter
|
|
||||||
working-directory: flutter
|
|
||||||
run: |
|
|
||||||
echo "$(pwd)/bin" >> $GITHUB_PATH
|
|
||||||
export PATH="$PATH:$(pwd)/bin"
|
|
||||||
flutter channel stable
|
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
flutter doctor
|
|
||||||
- name: Deps
|
|
||||||
working-directory: frontend
|
|
||||||
run: |
|
|
||||||
cargo install --force cargo-make
|
|
||||||
cargo install --force duckscript_cli
|
|
||||||
cargo make flowy_dev
|
|
||||||
echo PATH="$PATH":"$HOME/.pub-cache/bin" >> $GITHUB_PATH
|
|
||||||
- name: Build
|
|
||||||
working-directory: frontend
|
|
||||||
run: cargo make --profile production-linux-x86 appflowy
|
|
Loading…
x
Reference in New Issue
Block a user