diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 54e632645..ada163346 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,4 @@ -name: GitHub Actions CI +name: CI - Main # Cache is used for all Windows and macOS dependencies (size approx. 1230 * 2 + 1850 = 4310 MiB) # Cache is not used for Ubuntu builds, because it already has all dependencies except @@ -13,8 +13,7 @@ env: LIBTORRENT_VERSION_TAG: v1.2.14 jobs: - - ci_ubuntu: + ubuntu: name: Ubuntu strategy: @@ -30,64 +29,71 @@ jobs: shell: bash steps: - - name: checkout repository - uses: actions/checkout@v2 - - - name: install all build dependencies except libtorrent from Ubuntu repos - run: | - sudo apt update - sudo apt install \ - build-essential cmake git ninja-build pkg-config \ - libssl-dev libgeoip-dev zlib1g-dev \ - libboost-dev libboost-chrono-dev libboost-random-dev libboost-system-dev - # sudo apt install libqt5svg5-dev qtbase5-dev qttools5-dev # the Qt version in the standard repositories is too old... - - # this will be installed under /opt/qt515. CMake will still find it automatically without additional hints - # to speed up the process, only the required components are installed rather than the full qt515-meta-full metapackage - - name: install Qt 5.15.2 from an external PPA - run: | - sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal - sudo apt install qt515base qt515svg qt515tools - - - name: install libtorrent from source - run: | - git clone https://github.com/arvidn/libtorrent && cd libtorrent - git checkout ${{ env.LIBTORRENT_VERSION_TAG }} - cmake -B cmake-build-dir -G "Ninja" \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -Ddeprecated-functions=OFF \ - --graphviz=cmake-build-dir/target_graph.dot - cmake --build cmake-build-dir - sudo cmake --install cmake-build-dir --prefix /usr/local - - - name: build qBittorrent - run: | - cmake -B build -G "Ninja" \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -D${{ matrix.qbt_gui }} \ - -DVERBOSE_CONFIGURE=ON \ - --graphviz=build/target_graph.dot - cmake --build build - - - name: install qBittorrent - run: sudo cmake --install build --prefix /usr/local - - - name: upload artifact as zip - uses: actions/upload-artifact@v2 - with: - name: qBittorrent-CI_${{ matrix.os }}-x64_${{ matrix.qbt_gui }} - path: | - build/compile_commands.json - build/install_manifest.txt - build/target_graph.dot - build/qbittorrent - build/qbittorrent-nox - libtorrent/cmake-build-dir/compile_commands.json - libtorrent/cmake-build-dir/target_graph.dot - - ci_windows: - name: Windows + vcpkg - + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Install dependencies + run: | + sudo apt update + sudo apt install \ + build-essential cmake git ninja-build pkg-config \ + libssl-dev libgeoip-dev zlib1g-dev \ + libboost-dev libboost-chrono-dev libboost-random-dev libboost-system-dev + # sudo apt install libqt5svg5-dev qtbase5-dev qttools5-dev # the Qt version in the standard repositories is too old... + + # this will be installed under /opt/qt515. CMake will still find it automatically without additional hints + # to speed up the process, only the required components are installed rather than the full qt515-meta-full metapackage + - name: Install Qt + run: | + sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal + sudo apt install \ + qt515base qt515svg qt515tools + + - name: Install libtorrent + run: | + git clone https://github.com/arvidn/libtorrent + cd libtorrent + git checkout ${{ env.LIBTORRENT_VERSION_TAG }} + cmake \ + -B build \ + -G "Ninja" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -Ddeprecated-functions=OFF \ + --graphviz=cmake-build-dir/target_graph.dot + cmake --build build + sudo cmake --install build --prefix /usr/local + + - name: Build qBittorrent + run: | + cmake \ + -B build \ + -G "Ninja" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -D${{ matrix.qbt_gui }} \ + -DVERBOSE_CONFIGURE=ON \ + --graphviz=build/target_graph.dot + cmake --build build + + - name: Install qBittorrent + run: sudo cmake --install build --prefix /usr/local + + - name: Upload build artifacts + uses: actions/upload-artifact@v2 + with: + name: qBittorrent-CI_${{ matrix.os }}-x64_${{ matrix.qbt_gui }} + path: | + build/compile_commands.json + build/install_manifest.txt + build/target_graph.dot + build/qbittorrent + build/qbittorrent-nox + libtorrent/cmake-build-dir/compile_commands.json + libtorrent/cmake-build-dir/target_graph.dot + + windows: + name: Windows runs-on: windows-2019 defaults: @@ -95,160 +101,177 @@ jobs: shell: pwsh steps: - - name: checkout repository - uses: actions/checkout@v2 - - # - ninja is needed for building qBittorrent (because it's preferable, not a hard requirement) - - name: install additional required packages with chocolatey - run: | - choco install ninja - - - name: setup vcpkg (cached, if possible) - uses: lukka/run-vcpkg@v7 - with: - vcpkgDirectory: ${{ env.VCPKG_DEST_WIN }} - vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }} - setupOnly: true - - # Tell vcpkg to only build Release variants of the dependencies - - name: configure vcpkg triplet overlay for release builds only - run: | - New-Item -Path ${{ github.workspace }} -Name "triplets_overlay" -ItemType Directory - Copy-Item ${{ env.RUNVCPKG_VCPKG_ROOT }}/triplets/x64-windows-static.cmake ` - ${{ github.workspace }}/triplets_overlay/x64-windows-static-release.cmake - Add-Content ${{ github.workspace }}/triplets_overlay/x64-windows-static-release.cmake ` - -Value "set(VCPKG_BUILD_TYPE release)" - - # clear buildtrees after each package installation to reduce disk space requirements - - name: install dependencies via vcpkg - run: | - $packages = ` - "boost-circular-buffer:x64-windows-static-release", - "libtorrent:x64-windows-static-release", - "qt5-base:x64-windows-static-release", - "qt5-svg:x64-windows-static-release", - "qt5-tools:x64-windows-static-release", - "qt5-winextras:x64-windows-static-release" - ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe upgrade ` + - name: Checkout repository + uses: actions/checkout@v2 + + # - ninja is needed for building qBittorrent (because it's preferable, not a hard requirement) + - name: Install build tools + run: | + choco install ninja + + - name: Setup vcpkg + uses: lukka/run-vcpkg@v7 + with: + vcpkgDirectory: ${{ env.VCPKG_DEST_WIN }} + vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }} + setupOnly: true + + # Tell vcpkg to only build Release variants of the dependencies + - name: Configure vcpkg triplet overlay + run: | + New-Item ` + -Path ${{ github.workspace }} ` + -Name "triplets_overlay" ` + -ItemType Directory + Copy-Item ` + ${{ env.RUNVCPKG_VCPKG_ROOT }}/triplets/x64-windows-static.cmake ` + ${{ github.workspace }}/triplets_overlay/x64-windows-static-release.cmake + Add-Content ` + ${{ github.workspace }}/triplets_overlay/x64-windows-static-release.cmake ` + -Value "set(VCPKG_BUILD_TYPE release)" + + # clear buildtrees after each package installation to reduce disk space requirements + - name: Install dependencies + run: | + $packages = ` + "boost-circular-buffer:x64-windows-static-release", + "libtorrent:x64-windows-static-release", + "qt5-base:x64-windows-static-release", + "qt5-svg:x64-windows-static-release", + "qt5-tools:x64-windows-static-release", + "qt5-winextras:x64-windows-static-release" + ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe upgrade ` --overlay-triplets=${{ github.workspace }}/triplets_overlay ` --no-dry-run - foreach($package in $packages) - { - ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe install $package ` - --overlay-triplets=${{ github.workspace }}/triplets_overlay ` - --clean-after-build - } - - # NOTE: this is necessary to correctly find and use cl.exe with the Ninja generator for now - - name: setup devcmd - uses: ilammy/msvc-dev-cmd@v1 - - - name: build qBittorrent - shell: cmd - run: | - cmake -B build -G "Ninja" ^ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ^ - -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_DEST_WIN }}\scripts\buildsystems\vcpkg.cmake ^ - -DVCPKG_TARGET_TRIPLET=x64-windows-static-release ^ - -DVERBOSE_CONFIGURE=ON ^ - -DMSVC_RUNTIME_DYNAMIC=OFF ^ - --graphviz=build\target_graph.dot - cmake --build build - - - name: upload artifact as zip - uses: actions/upload-artifact@v2 - with: - name: qBittorrent-CI_Windows-x64 - path: | - build/compile_commands.json - build/target_graph.dot - build/qbittorrent.exe - build/qbittorrent.pdb - dist/windows/qt.conf - - ci_macos: - name: macOS + vcpkg + foreach($package in $packages) + { + ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg.exe install $package ` + --overlay-triplets=${{ github.workspace }}/triplets_overlay ` + --clean-after-build + } + + # NOTE: this is necessary to correctly find and use cl.exe with the Ninja generator for now + - name: Setup devcmd + uses: ilammy/msvc-dev-cmd@v1 + + - name: Build qBittorrent + shell: cmd + run: | + cmake ^ + -B build ^ + -G "Ninja" ^ + -DCMAKE_BUILD_TYPE=RelWithDebInfo ^ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ^ + -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_DEST_WIN }}\scripts\buildsystems\vcpkg.cmake ^ + -DVCPKG_TARGET_TRIPLET=x64-windows-static-release ^ + -DVERBOSE_CONFIGURE=ON ^ + -DMSVC_RUNTIME_DYNAMIC=OFF ^ + --graphviz=build\target_graph.dot + cmake --build build + + - name: Upload build artifacts + uses: actions/upload-artifact@v2 + with: + name: qBittorrent-CI_Windows-x64 + path: | + build/compile_commands.json + build/target_graph.dot + build/qbittorrent.exe + build/qbittorrent.pdb + dist/windows/qt.conf + + macos: + name: macOS + runs-on: macos-10.15 strategy: matrix: qbt_gui: ["GUI=ON", "GUI=OFF"] fail-fast: false - runs-on: macos-10.15 - defaults: run: shell: pwsh steps: - - name: checkout repository - uses: actions/checkout@v2 - - # - ninja is needed for building qBittorrent (because it's preferable, not a hard requirement) - # - automake is needed for the installation the vcpkg installation of fontconfig, a dependency of qt5-base - - name: install additional required packages with homebrew - shell: bash - run: | - brew install automake ninja - - - name: setup vcpkg (cached, if possible) - uses: lukka/run-vcpkg@v7 - with: - vcpkgDirectory: ${{ env.VCPKG_DEST_MACOS }} - vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }} - setupOnly: true - - - name: configure vcpkg triplet overlay for release builds only - run: | - New-Item -Path ${{ github.workspace }} -Name "triplets_overlay" -ItemType Directory - Copy-Item ${{ env.RUNVCPKG_VCPKG_ROOT }}/triplets/x64-osx.cmake ` - ${{ github.workspace }}/triplets_overlay/x64-osx-release.cmake - Add-Content ${{ github.workspace }}/triplets_overlay/x64-osx-release.cmake ` - -Value "set(VCPKG_BUILD_TYPE release)","set(VCPKG_OSX_DEPLOYMENT_TARGET 10.15)" - - # NOTE: Avoids a libtorrent ABI issue. See https://github.com/arvidn/libtorrent/issues/4965 - - name: force AppleClang to compile libtorrent with the same C++ standard as qBittorrent - run: | - (Get-Content -path ${{ env.RUNVCPKG_VCPKG_ROOT }}/ports/libtorrent/portfile.cmake).Replace( ` - '${FEATURE_OPTIONS}', '${FEATURE_OPTIONS} -DCMAKE_CXX_STANDARD=17') ` - | Set-Content -Path ${{ env.RUNVCPKG_VCPKG_ROOT }}/ports/libtorrent/portfile.cmake - - - name: install dependencies via vcpkg - run: | - $packages = ` - "boost-circular-buffer:x64-osx-release", - "libtorrent:x64-osx-release", - "qt5-base:x64-osx-release", - "qt5-svg:x64-osx-release", - "qt5-tools:x64-osx-release", - "qt5-macextras:x64-osx-release" - ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg upgrade ` + - name: Checkout repository + uses: actions/checkout@v2 + + # - ninja is needed for building qBittorrent (because it's preferable, not a hard requirement) + # - automake is needed for the installation the vcpkg installation of fontconfig, a dependency of qt5-base + - name: Install build tools + shell: bash + run: | + brew install automake ninja + + - name: Setup vcpkg + uses: lukka/run-vcpkg@v7 + with: + vcpkgDirectory: ${{ env.VCPKG_DEST_MACOS }} + vcpkgGitCommitId: ${{ env.VCPKG_COMMIT }} + setupOnly: true + + - name: Configure vcpkg triplet overlay + run: | + New-Item ` + -Path ${{ github.workspace }} ` + -Name "triplets_overlay" ` + -ItemType Directory + Copy-Item ` + ${{ env.RUNVCPKG_VCPKG_ROOT }}/triplets/x64-osx.cmake ` + ${{ github.workspace }}/triplets_overlay/x64-osx-release.cmake + Add-Content ` + ${{ github.workspace }}/triplets_overlay/x64-osx-release.cmake ` + -Value "set(VCPKG_BUILD_TYPE release)","set(VCPKG_OSX_DEPLOYMENT_TARGET 10.15)" + + # NOTE: Avoids a libtorrent ABI issue. See https://github.com/arvidn/libtorrent/issues/4965 + - name: Adjust "C++ standard" cmake flag + run: | + (Get-Content ` + -path ${{ env.RUNVCPKG_VCPKG_ROOT }}/ports/libtorrent/portfile.cmake).Replace( ` + '${FEATURE_OPTIONS}', '${FEATURE_OPTIONS} -DCMAKE_CXX_STANDARD=17') ` + | Set-Content -Path ${{ env.RUNVCPKG_VCPKG_ROOT }}/ports/libtorrent/portfile.cmake + + - name: Install dependencies + run: | + $packages = ` + "boost-circular-buffer:x64-osx-release", + "libtorrent:x64-osx-release", + "qt5-base:x64-osx-release", + "qt5-svg:x64-osx-release", + "qt5-tools:x64-osx-release", + "qt5-macextras:x64-osx-release" + ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg upgrade ` --overlay-triplets=${{ github.workspace }}/triplets_overlay ` --no-dry-run - foreach($package in $packages) - { - ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg install $package ` - --overlay-triplets=${{ github.workspace }}/triplets_overlay ` - --clean-after-build - } - - - name: build qBittorrent - shell: bash - run: | - cmake -B build -G "Ninja" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_DEST_MACOS }}/scripts/buildsystems/vcpkg.cmake \ - -DVCPKG_TARGET_TRIPLET=x64-osx-release \ - -D${{ matrix.qbt_gui }} \ - -DVERBOSE_CONFIGURE=ON \ - --graphviz=build/target_graph.dot - cmake --build build - - - name: upload artifact as zip - uses: actions/upload-artifact@v2 - with: - name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }} - path: | - build/compile_commands.json - build/target_graph.dot - build/qbittorrent.app - build/qbittorrent-nox.app + foreach($package in $packages) + { + ${{ env.RUNVCPKG_VCPKG_ROOT }}/vcpkg install $package ` + --overlay-triplets=${{ github.workspace }}/triplets_overlay ` + --clean-after-build + } + + - name: Build qBittorrent + shell: bash + run: | + cmake \ + -B build \ + -G "Ninja" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_DEST_MACOS }}/scripts/buildsystems/vcpkg.cmake \ + -DVCPKG_TARGET_TRIPLET=x64-osx-release \ + -D${{ matrix.qbt_gui }} \ + -DVERBOSE_CONFIGURE=ON \ + --graphviz=build/target_graph.dot + cmake --build build + + - name: Upload build artifacts + uses: actions/upload-artifact@v2 + with: + name: qBittorrent-CI_macOS_${{ matrix.qbt_gui }} + path: | + build/compile_commands.json + build/target_graph.dot + build/qbittorrent.app + build/qbittorrent-nox.app diff --git a/.github/workflows/coverity-scan.yml b/.github/workflows/coverity-scan.yml index c74985645..2a3fdf2f9 100644 --- a/.github/workflows/coverity-scan.yml +++ b/.github/workflows/coverity-scan.yml @@ -1,78 +1,85 @@ name: Coverity Scan + on: schedule: - cron: '0 0 1 * *' # Monthly (1st day of month at midnight) - workflow_dispatch: # Mainly for testing. Don't forget the Coverity usage limits. env: LIBTORRENT_VERSION_TAG: v1.2.14 jobs: - coverity_scan: name: Scan - runs-on: ubuntu-20.04 - steps: - - name: checkout repository - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v2 - - name: install all build dependencies except libtorrent from Ubuntu repos - run: | - sudo apt update - sudo apt install \ - build-essential cmake git ninja-build pkg-config \ - libssl-dev zlib1g-dev libboost-dev libboost-system-dev - # sudo apt install libqt5svg5-dev qtbase5-dev qttools5-dev # the Qt version in the standard repositories is too old... + - name: Install dependencies + run: | + sudo apt update + sudo apt install \ + build-essential cmake git ninja-build pkg-config \ + libssl-dev zlib1g-dev libboost-dev libboost-system-dev + # sudo apt install libqt5svg5-dev qtbase5-dev qttools5-dev # the Qt version in the standard repositories is too old... - # this will be installed under /opt/qt515. CMake will still find it automatically without additional hints - # to speed up the process, only the required components are installed rather than the full qt515-meta-full metapackage - - name: install Qt 5.15.2 from an external PPA - run: | - sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal - sudo apt install qt515base qt515svg qt515tools + # this will be installed under /opt/qt515. CMake will still find it automatically without additional hints + # to speed up the process, only the required components are installed rather than the full qt515-meta-full metapackage + - name: Install Qt + run: | + sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal + sudo apt install \ + qt515base qt515svg qt515tools - - name: install libtorrent from source - run: | - git clone https://github.com/arvidn/libtorrent && cd libtorrent - git checkout ${{ env.LIBTORRENT_VERSION_TAG }} - cmake -B cmake-build-dir -G "Ninja" \ - -DCMAKE_BUILD_TYPE=Release \ - -Ddeprecated-functions=OFF - cmake --build cmake-build-dir - sudo cmake --install cmake-build-dir --prefix /usr/local + - name: Install libtorrent + run: | + git clone https://github.com/arvidn/libtorrent + cd libtorrent + git checkout ${{ env.LIBTORRENT_VERSION_TAG }} + cmake \ + -B build \ + -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release \ + -Ddeprecated-functions=OFF + cmake --build build + sudo cmake --install build --prefix /usr/local - - name: Download Coverity Build Tool - run: | - wget -q https://scan.coverity.com/download/linux64 --post-data "token=$TOKEN&project=qbittorrent%2FqBittorrent" -O coverity_tool.tgz - mkdir coverity_tool - tar xzf coverity_tool.tgz --strip 1 -C coverity_tool - env: - TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} + - name: Download Coverity Build Tool + run: | + wget \ + -q \ + https://scan.coverity.com/download/linux64 \ + --post-data "token=$TOKEN&project=qbittorrent%2FqBittorrent" \ + -O coverity_tool.tgz + mkdir coverity_tool + tar xzf coverity_tool.tgz --strip 1 -C coverity_tool + env: + TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} - - name: Configure qBittorrent - run: | - cmake -B build -G "Ninja" \ - -DCMAKE_BUILD_TYPE=Release \ - -DGUI=ON \ - -DVERBOSE_CONFIGURE=ON + - name: Configure qBittorrent + run: | + cmake \ + -B build \ + -G "Ninja" \ + -DCMAKE_BUILD_TYPE=Release \ + -DGUI=ON \ + -DVERBOSE_CONFIGURE=ON - - name: Build with cov-build - run: | - export PATH=`pwd`/coverity_tool/bin:$PATH - cov-build --dir cov-int cmake --build build + - name: Build qBittorrent + run: | + export PATH="$(pwd)/coverity_tool/bin:$PATH" + cov-build --dir cov-int cmake --build build - - name: Submit the result to Coverity Scan - run: | - tar caf qbittorrent.xz cov-int - curl \ - --form token=$TOKEN \ - --form email=sledgehammer999@qbittorrent.org \ - --form file=@qbittorrent.tgz \ - --form version="`git rev-parse --short HEAD`" \ - --form description="master" \ - https://scan.coverity.com/builds?project=qbittorrent%2FqBittorrent - env: - TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} + - name: Submit the result to Coverity Scan + run: | + tar caf qbittorrent.xz cov-int + curl \ + --form token=$TOKEN \ + --form email=sledgehammer999@qbittorrent.org \ + --form file=@qbittorrent.tgz \ + --form version="$(git rev-parse --short HEAD)" \ + --form description="master" \ + https://scan.coverity.com/builds?project=qbittorrent%2FqBittorrent + env: + TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} diff --git a/.github/workflows/file_health.yaml b/.github/workflows/file_health.yaml index aeadcf31e..04bd6ed72 100644 --- a/.github/workflows/file_health.yaml +++ b/.github/workflows/file_health.yaml @@ -1,22 +1,20 @@ -name: GitHub Actions file health check +name: CI - File health on: [pull_request, push] jobs: check_file_health: name: Check file health - - runs-on: ubuntu-20.04 - + runs-on: ubuntu-latest steps: - - name: checkout repository - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v2 - - name: install zsh - run: | - sudo apt update - sudo apt install zsh + - name: Install tools + run: | + sudo apt update + sudo apt install zsh - - name: run check file health script - run: | - ./.github/workflows/file_health.sh + - name: Run script + run: | + ./.github/workflows/file_health.sh diff --git a/.github/workflows/webui_ci.yaml b/.github/workflows/webui_ci.yaml index aa836523d..00498b00b 100644 --- a/.github/workflows/webui_ci.yaml +++ b/.github/workflows/webui_ci.yaml @@ -1,31 +1,31 @@ -name: WebUI CI +name: CI - WebUI on: [pull_request, push] jobs: check_webui: name: Check WebUI - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest defaults: run: working-directory: src/webui/www steps: - - name: checkout repository - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v2 - - name: setup nodejs - uses: actions/setup-node@v2 - with: - node-version: '14' + - name: Setup nodejs + uses: actions/setup-node@v2 + with: + node-version: 'lts/*' - - name: install tools - run: npm install + - name: Install tools + run: npm install - - name: lint code - run: npm run lint + - name: Lint code + run: npm run lint - - name: format code - run: | - npm run format - git diff --exit-code + - name: Format code + run: | + npm run format + git diff --exit-code