Skip to content

hello(world): initial action and CMakeLists #35

hello(world): initial action and CMakeLists

hello(world): initial action and CMakeLists #35

Workflow file for this run

name: Build
on:
push:
branches:
- main
pull_request:
branches:
- main
env:
REGISTRY: ghcr.io
jobs:
set-env:
runs-on: [ubuntu-latest]
outputs:
CI_IMAGE : ${{ steps.common.outputs.CI_IMAGE }}
steps:
- name: Export common variables.
id : common
run : |
echo "CI_IMAGE=${{ env.REGISTRY }}/${{ github.repository }}/kokkos-utils:latest" >> $GITHUB_OUTPUT
build-image:
needs: [set-env]
runs-on: [ubuntu-latest]
container:
image: docker:latest
permissions:
packages: write
steps:
- name: Checkout code.
uses: actions/checkout@v4
- name: Login to GitHub Container Registry.
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image.
run : |
apk add jq
DOXYGEN_VERSION=$(jq .dependencies.doxygen.value version.json -j)
GOOGLETEST_VERSION=$(jq .dependencies.googletest.value version.json -j)
KOKKOS_VERSION=$(jq .dependencies.kokkos.value version.json -j)
docker buildx build \
--pull \
--push \
--file dockerfile \
--platform linux/amd64 \
--tag ${{ needs.set-env.outputs.CI_IMAGE }} \
--cache-from ${{ needs.set-env.outputs.CI_IMAGE }} \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--build-arg DOXYGEN_VERSION=${DOXYGEN_VERSION} \
--build-arg GOOGLETEST_VERSION=${GOOGLETEST_VERSION} \
--build-arg KOKKOS_VERSION=${KOKKOS_VERSION} \
--build-arg KOKKOS_PRESET=OpenMP \
.
build-library:
needs: [set-env, build-image]
runs-on: [ubuntu-latest]
container:
image: ${{ needs.set-env.outputs.CI_IMAGE }}
steps:
- name: Checkout code.
uses: actions/checkout@v4
- name: Configure and build.
run : |
cmake -S . --preset=OpenMP
cmake --build --preset=OpenMP
build-documentation:
needs: [build-library]
runs-on: [ubuntu-latest]
steps:
- name: Checkout code.
uses: actions/checkout@v4
- name: Upload Pages artifacts.
uses: actions/upload-pages-artifact@v3
with:
path: README.md
- name: Deploy to GitHub Pages.
uses: actions/deploy-pages@v4