diff --git a/.github/actions/build_thinkfan/action.yaml b/.github/actions/build_thinkfan/action.yaml new file mode 100644 index 0000000..be6b47c --- /dev/null +++ b/.github/actions/build_thinkfan/action.yaml @@ -0,0 +1,12 @@ +name: Build thinkfan +description: 'Composite action to build thinkfan.' + +runs: + using: composite + steps: + - name: build + run: | + mkdir build + cmake -B build + cmake --build build + shell: bash diff --git a/.github/actions/install_thinkfan/action.yaml b/.github/actions/install_thinkfan/action.yaml new file mode 100644 index 0000000..4bf530e --- /dev/null +++ b/.github/actions/install_thinkfan/action.yaml @@ -0,0 +1,10 @@ +name: Install thinkfan +description: 'Composite action to install thinkfan.' + +runs: + using: composite + steps: + - name: install + run: | + sudo cmake --install ${{ github.workspace }}/build + shell: bash diff --git a/.github/actions/install_thinkfan_deps/action.yaml b/.github/actions/install_thinkfan_deps/action.yaml new file mode 100644 index 0000000..4bab678 --- /dev/null +++ b/.github/actions/install_thinkfan_deps/action.yaml @@ -0,0 +1,11 @@ +name: Install thinkfan Dependencies +description: 'Composite action to install thinkfan dependencies.' + +runs: + using: composite + steps: + - name: install-deps + run: | + sudo apt update + sudo apt install -y libyaml-cpp-dev libatasmart-dev cmake libsensors4-dev + shell: bash diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index a1645e4..8113d29 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -13,13 +13,7 @@ jobs: matrix: os: [ubuntu-20.04, ubuntu-22.04] steps: - - uses: actions/checkout@v2 - - name: install-deps - run: sudo apt install libyaml-cpp-dev libatasmart-dev cmake libsensors4-dev - - name: build - run: | - mkdir build - cmake -B build - cmake --build build - - name: install - run: sudo cmake --install ${{ github.workspace }}/build + - uses: actions/checkout@v4 + - uses: ./.github/actions/install_thinkfan_deps + - uses: ./.github/actions/build_thinkfan + - uses: ./.github/actions/install_thinkfan diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index b5e813a..00bb95d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -27,10 +27,9 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - name: install-deps - run: sudo apt install libyaml-cpp-dev libatasmart-dev cmake libsensors4-dev + - uses: ./.github/actions/install_thinkfan_deps # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL @@ -44,12 +43,7 @@ jobs: # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs queries: +security-and-quality - - - name: build - run: | - mkdir build - cmake -B build - cmake --build build + - uses: ./.github/actions/build_thinkfan - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2