Add GitHub Pages release CI #1107
Workflow file for this run
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
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- "*" | |
tags: | |
- "*" | |
jobs: | |
build: | |
name: Test | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | Cache Cargo | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ubuntu-test-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Test | |
run: | | |
cargo install cargo-machete | |
cargo machete | |
cargo clippy | |
cargo test | |
- name: Lint output | |
run: make test:lint | |
- name: Init test | |
run: make test:init | |
- name: Lint output JSON | |
run: make test:lint-json | |
test_node: | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
name: Test for Node.js | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- name: Setup | Cache Cargo | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
${{ steps.yarn-cache-dir-path.outputs.dir }} | |
target/ | |
key: ubuntu-test-cargo-yarn-${{ hashFiles('**/Cargo.lock') }} | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 21 | |
registry-url: "https://registry.npmjs.org" | |
- name: Test Node.js | |
run: | | |
make test:node | |
test_python: | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
name: Test for Python | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | Cache Cargo | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
~/.cache/pip | |
target/ | |
key: ubuntu-test-cargo-python-${{ hashFiles('**/Cargo.lock') }} | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install pytest | |
run: python3 -m pip install pytest | |
- name: Test Python | |
run: make test:python | |
test_ruby: | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
name: Test for Ruby | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | Cache Cargo | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ubuntu-test-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- name: Test Ruby | |
run: make test:ruby | |
test_java: | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
strategy: | |
fail-fast: true | |
matrix: | |
settings: | |
- host: ubuntu-latest | |
- host: macos-latest | |
runs-on: ${{ matrix.settings.host }} | |
name: Test for Java on ${{ matrix.settings.host }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup | Cache Cargo | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
~/.m2/repository | |
target/ | |
key: ${{ matrix.settings.host }}-cargo-maven-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: "11" | |
distribution: "temurin" | |
- name: Test Java | |
run: make test:java |