diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..b8e7948b3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,65 @@ +# This is a basic workflow to help you get started with Actions + +name: myCi + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the develop branch + push: + branches: [ develop ] + pull_request: + branches: [ develop ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +env: + LINUX_CPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler-pro + LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/17764/l_HPCKit_p_2021.2.0.2997_offline.sh + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + build_linux_intel: + runs-on: ubuntu-20.04 + defaults: + run: + shell: bash + steps: + - uses: actions/checkout@v2 + - name: cache install + id: cache-install + uses: actions/cache@v2 + with: + path: | + /opt/intel/oneapi/compiler + key: install-${{ env.LINUX_HPCKIT_URL }}-${{ env.LINUX_CPP_COMPONENTS_WEB }}-compiler-${{ hashFiles('**/scripts/cache_exclude_linux.sh') }} + - name: install + if: steps.cache-install.outputs.cache-hit != 'true' + run: scripts/install_linux.sh $LINUX_HPCKIT_URL $LINUX_CPP_COMPONENTS_WEB + - name: cmake + run: cmake -S . -B build #-DJSON_CI=On + - name: build + run: cmake --build build --target ci_test_intel + - name: exclude unused files from cache + if: steps.cache-install.outputs.cache-hit != 'true' + run: scripts/cache_exclude_linux.sh + + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # Runs a single command using the runners shell + - name: Run a one-line script + run: echo Hello, world! + + # Runs a set of commands using the runners shell + - name: Run a multi-line script + run: | + echo Add other actions to build, + echo test, and deploy your project.