diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml new file mode 100644 index 0000000..8e8bb10 --- /dev/null +++ b/.github/workflows/basic.yml @@ -0,0 +1,118 @@ +name: Basic + +on: + push: + branches: [ "main" ] + + pull_request: + branches: [ "main" ] + + workflow_dispatch: + inputs: + deploy_documentation: + description: Deploy documentation + required: false + type: boolean + default: false + +env: + CARGO_TERM_COLOR: always + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Check if oneAPI is already installed + id: check-oneapi + run: | + if [ -f /opt/intel/oneapi/setvars.sh ]; then + echo "installed=true" >> $GITHUB_OUTPUT + else + echo "installed=false" >> $GITHUB_OUTPUT + fi + + - name: Setup oneAPI + if: steps.check-oneapi.outputs.installed != 'true' + run: | + installer="intel-oneapi-toolkit-2026.1.0.192_offline.sh" + checksum="9d969de9cafbb698bf50f088c4b5174b50fc816f504049e685d6f6d198e10dbc17ef2cd4cfb0bc2b3d2179644a8d77d1" + curl --fail --location --retry 3 --silent --show-error --output "$installer" \ + "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/33cb2a22-ddf1-4aa9-8d68-1f5a118acaf2/intel-oneapi-toolkit-2026.1.0.192_offline.sh" + echo "$checksum $installer" | sha384sum --check + sudo sh "./$installer" -a --silent --cli --eula accept + + - name: Configure oneAPI environment + run: | + source /opt/intel/oneapi/setvars.sh + # copy envs to github + printenv | grep -E '^(PATH|LD_LIBRARY_PATH|LIBRARY_PATH|CPATH|C_INCLUDE_PATH|CPLUS_INCLUDE_PATH)=' >> $GITHUB_ENV + icx --version + sycl-ls --verbose + + - name: Build + run: cargo build --verbose + + - name: Run tests + run: cargo test --verbose + + - name: Generate documentation + run: | + cargo doc -p oneapi-rs --no-deps --verbose + cat > target/doc/index.html <<'HTML' + + +
+ + +