Skip to content

Commit

Permalink
backup of CI overhaul
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanmrichard committed Nov 8, 2024
1 parent 40af36a commit 61e649b
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 41 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/build_plugin_template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: 'Configure and build PluginTemplate'

on:
workflow_call:
inputs:
project_name:
required: true
type: string
project_slug:
required: false
type: string
default: "new_project"
secrets:
CONTAINER_REPO_TOKEN:
required: true

Test-Cookiecutter:
runs-on: ubuntu-latest
container:
image: ghcr.io/nwchemex/nwx_buildenv:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.CONTAINER_REPO_TOKEN }}
steps:
- uses: actions/checkout@v2

- name: Install cookecutter
run: |
pip install cookiecutter
shell: bash

- name: Install Zip
run: |
apt-get update && apt-get install -y zip
shell: bash

- name: Zip current state
run: |
# From the Cookiecutter docs
(SOURCE_DIR=$(basename $PWD) ZIP=cookiecutter.zip &&
pushd .. &&
zip -r $ZIP $SOURCE_DIR --exclude $SOURCE_DIR/$ZIP --quiet &&
mv $ZIP $SOURCE_DIR/$ZIP &&
popd &&
echo "Cookiecutter full path: $PWD/$ZIP")
shell: bash

- name: Write configure.yaml
run: |
echo "default_context:" > configure.yaml
echo " project_name: ${PROJECT_NAME}" >> configure.yaml
shell: bash
env:
PROJECT_NAME: ${{ inputs.project_name }}
PROJECT_SLUG: ${{ inputs.project_slug }}

- name: Test current state
run: |
# Generate the template
cookiecutter ./cookiecutter.zip --no-input --config-file configure.yaml
cd ${PROJECT_SLUG}
# Configure, build, and test
cmake -Bbuild -H. \
-DCMAKE_TOOLCHAIN_FILE=./default_toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=./install
cmake --build build --parallel
cd build
ctest -VV
shell: bash
env:
PROJECT_SLUG: ${{ inputs.project_slug }}
47 changes: 6 additions & 41 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,44 +21,9 @@ on:
- master

jobs:
Test-Cookiecutter:
runs-on: ubuntu-latest
container:
image: ghcr.io/nwchemex/nwx_buildenv:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.CONTAINER_REPO_TOKEN }}
steps:
- uses: actions/checkout@v2
- name: Install cookecutter
run: |
pip install cookiecutter
shell: bash
- name: Install Zip
run: |
apt-get update && apt-get install -y zip
shell: bash
- name: Zip current state
run: |
# From the Cookiecutter docs
(SOURCE_DIR=$(basename $PWD) ZIP=cookiecutter.zip &&
pushd .. &&
zip -r $ZIP $SOURCE_DIR --exclude $SOURCE_DIR/$ZIP --quiet &&
mv $ZIP $SOURCE_DIR/$ZIP &&
popd &&
echo "Cookiecutter full path: $PWD/$ZIP")
shell: bash
- name: Test current state
run: |
# Generate the template
cookiecutter ./cookiecutter.zip --no-input
cd new_plugin
# Configure, build, and test
cmake -Bbuild -H. \
-DCMAKE_TOOLCHAIN_FILE=./default_toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=./install
cmake --build build --parallel
cd build
ctest -VV
shell: bash
default_run:
uses: ./workflows/build_plugin_template.yaml
with:
project_name: "New Plugin"
secrets:
CONTAINER_REPO_TOKEN: ${{ secrets.CONTAINER_REPO_TOKEN }}

0 comments on commit 61e649b

Please sign in to comment.