Skip to content

Update repository link in Cargo.toml #17

Update repository link in Cargo.toml

Update repository link in Cargo.toml #17

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
types:
- opened
- reopened
- synchronize
- ready_for_review
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
lint:
name: lint
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: Check formatting
run: |
cargo fmt -- --check
- name: Install Node.js
uses: actions/setup-node@v3
- name: Install NPM dependencies
run: npm install
- name: run lint
run: npm run lint
test:
name: test ${{ matrix.os-name }}, v${{ matrix.node-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
# Use Ubuntu LTS-1 for broader glibc compatibility.
os: [ubuntu-20.04]
node-version: [16.0, 18.0, 19.0, 20.0]
include:
- os: ubuntu-20.04
os-name: 🐧
- os: macos-latest
os-name: 🍏
node-version: 20.0
- node-version: 20.0
build-doc: true
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Load cache
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install NPM dependencies
run: npm install
- name: Build
run: npm run release-build
- name: Test
run: npm run test
# Building in dev-mode and copy lib in failure case
- name: Build in non-release
if: failure()
run: |
cp *.node release-mode-lib.node
npm run build
- uses: actions/upload-artifact@v3
if: failure()
with:
name: Failure Files
path: |
bindings/matrix-sdk-crypto-nodejs/*.node
/var/crash/*.crash
- if: ${{ matrix.build-doc }}
name: Build the documentation
run: npm run doc
docs:
name: docs
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- name: Load cache
uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Build docs
run: |
npm install
npm run build && npm run doc
- name: Upload artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v1
with:
path: './docs/'
- name: Deploy to GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: deployment
uses: actions/deploy-pages@v2