Merge pull request #854 from openSUSE/products_po_merge_6796604064 #7419
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: [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 |