Skip to content

Merge pull request #166 from artichoke/dependabot/bundler/bundler-dep… #504

Merge pull request #166 from artichoke/dependabot/bundler/bundler-dep…

Merge pull request #166 from artichoke/dependabot/bundler/bundler-dep… #504

Workflow file for this run

---
name: CI
"on":
push:
branches:
- trunk
pull_request:
branches:
- trunk
schedule:
- cron: "0 0 * * TUE"
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- aarch64-apple-darwin
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- i686-pc-windows-gnu
- i686-pc-windows-msvc
- i686-unknown-linux-gnu
- x86_64-apple-darwin
- x86_64-pc-windows-gnu
- x86_64-pc-windows-msvc
- x86_64-unknown-linux-gnu
- x86_64-unknown-linux-musl
steps:
- name: Checkout repository
uses: actions/[email protected]
with:
path: generate_third_party_action
- name: Generate THIRDPARTY license listing
id: generate_third_party
uses: ./generate_third_party_action
with:
artichoke_ref: trunk
target_triple: ${{ matrix.target }}
output_file: THIRDPARTY
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Check THIRDPARTY output
shell: bash
run: |
if (( $(grep -c . < THIRDPARTY) < 10 )); then
exit 1
fi
test-all-targets:
name: Test (all targets)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Clone Artichoke
uses: actions/[email protected]
with:
repository: artichoke/artichoke
path: "artichoke"
- name: Install Ruby toolchain
uses: ruby/setup-ruby@c04af2bb7258bb6a03df1d3c1865998ac9390972 # v1.194.0
with:
ruby-version: "3.0.0" # see minimum version requirement in gemspec
bundler-cache: true
- name: Update stable rust
run: rustup update stable
- name: Install cargo-about
run: bundle exec install-cargo-about --platform "${{ runner.os }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Generate THIRDPARTY for all targets
run: bundle exec generate-third-party-text-file artichoke/Cargo.toml
- name: Check THIRDPARTY output
shell: bash
run: |
if (( $(grep -c . < THIRDPARTY) < 10 )); then
exit 1
fi
platform-support:
name: Platform Support
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
build:
- macos
- ubuntu
- windows
include:
- build: macos
os: macos-latest
target: x86_64-apple-darwin
- build: ubuntu
os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- build: windows
os: windows-latest
target: x86_64-pc-windows-msvc
steps:
- name: Checkout repository
uses: actions/[email protected]
with:
path: generate_third_party_action
- name: Generate THIRDPARTY license listing
id: generate_third_party
uses: ./generate_third_party_action
with:
artichoke_ref: trunk
target_triple: ${{ matrix.target }}
output_file: THIRDPARTY
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Check THIRDPARTY output
shell: bash
run: |
if (( $(grep -c . < THIRDPARTY) < 10 )); then
exit 1
fi
ruby:
name: Lint and format Ruby
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Install Ruby toolchain
uses: ruby/setup-ruby@c04af2bb7258bb6a03df1d3c1865998ac9390972 # v1.194.0
with:
ruby-version: ".ruby-version"
bundler-cache: true
- name: Lint and check formatting with Rubocop
run: bundle exec rubocop --format github
- name: Typecheck with Sorbet
run: |
bundle exec srb tc
bundle exec srb tc bin/install-cargo-about bin/generate-third-party-text-file bin/generate-third-party-text-file-single-target
text:
name: Lint and format text
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Setup Node.js runtime
uses: actions/[email protected]
with:
node-version: "lts/*"
- name: Install toolchain
run: npm ci
- name: Lint and check formatting with prettier
run: npx prettier --check '**/*'
- name: Lint YAML sources with yamllint
run: |
yamllint --version
echo "Linting YAML sources with yamllint ..."
yamllint --strict --format github .
echo "OK"