Skip to content

Merge pull request #854 from openSUSE/products_po_merge_6796604064 #7419

Merge pull request #854 from openSUSE/products_po_merge_6796604064

Merge pull request #854 from openSUSE/products_po_merge_6796604064 #7419

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
frontend_build:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./web
strategy:
matrix:
node-version: ["18.x"]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: 'web/package-lock.json'
- name: Install dependencies
run: npm install
- name: Build the application
run: make
- name: Run check spell
run: npm run cspell
- name: Check types
run: npm run check-types
- name: Run ESLint
run: npm run eslint
- name: Run Stylelint
run: npm run stylelint
- name: Run the tests and generate coverage report
run: npm test -- --coverage
- name: Coveralls GitHub Action
uses: coverallsapp/github-action@v2
with:
base-path: ./web
flag-name: frontend
parallel: true
ruby_tests:
runs-on: ubuntu-latest
env:
COVERAGE: 1
defaults:
run:
working-directory: ./service
strategy:
fail-fast: false
matrix:
distro: [ "tumbleweed" ]
container:
image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
steps:
- name: Git Checkout
uses: actions/checkout@v3
- name: Configure and refresh repositories
# disable unused repositories to have faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && ( zypper ref || zypper ref || zypper ref )
- name: Install Ruby development files
run: zypper --non-interactive install gcc gcc-c++ make openssl-devel ruby-devel npm augeas-devel
- name: Install required packages
run: zypper --non-interactive install yast2-iscsi-client
- name: Install RubyGems dependencies
run: bundle config set --local with 'development' && bundle install
- name: Run the tests and generate coverage report
run: bundle exec rspec
- name: Coveralls GitHub Action
uses: coverallsapp/github-action@v2
with:
base-path: ./service
flag-name: backend
parallel: true
rust_ci:
runs-on: ubuntu-latest
env:
COVERAGE: 1
defaults:
run:
working-directory: ./rust
strategy:
fail-fast: false
matrix:
distro: [ "tumbleweed" ]
container:
image: registry.opensuse.org/yast/head/containers_${{matrix.distro}}/yast-ruby
options: --security-opt seccomp=unconfined
steps:
- name: Git Checkout
uses: actions/checkout@v3
- name: Configure and refresh repositories
# disable unused repositories to have faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && ( zypper ref || zypper ref || zypper ref )
- name: Install Rust development files
run: zypper --non-interactive install rustup
- name: Install required packages
run: zypper --non-interactive install python-langtable-data openssl-3 libopenssl-3-devel jq
- name: Install Rust toolchains
run: rustup toolchain install stable
- name: Install cargo-binstall
uses: taiki-e/install-action@v2
with:
tool: cargo-binstall
- name: Install Tarpaulin (for code coverage)
run: cargo-binstall --no-confirm cargo-tarpaulin
- name: Run the tests
run: cargo tarpaulin --out xml
- name: Lint formatting
run: cargo fmt --all -- --check
- name: Coveralls GitHub Action
uses: coverallsapp/github-action@v2
with:
base-path: ./rust
format: cobertura
flag-name: rust-backend
parallel: true
finish:
runs-on: ubuntu-latest
needs: [frontend_build, ruby_tests, rust_ci]
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v1
with:
parallel-finished: true