Skip to content

quotes around booleans #5

quotes around booleans

quotes around booleans #5

# Copyright 2023 NWChemEx-Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
name: Common Pull Request Workflow
# Collects common Pull Request related jobs for the NWX stack, specifically
# 1. Apply licensing
# 2. Apply formatting
# 2. Build and test C++ libraries
# 3. Test building the documentation
# Each step can be skipped by setting the corresponding input variable as
# an empty string ''.
on:
workflow_call:
inputs:
config_file:
description: "The license configuration file for SkyWalking Eyes"
type: string
required: false
default: '.licenserc.yaml'
source_dir:
description: "Space seperated list of dirs to apply formatting to"
type: string
required: false
default: 'include src tests'
compilers:
description: "String of a JSON list of compilers to test"
type: string
required: false
default: ''
doc_target:
description: "The name of the documentation target. Set to 'Sphinx' to skip doxygen"
type: string
required: false
default: ''
secrets:
CMAIZE_GITHUB_TOKEN:
description: "Token passed to CMaize"
required: true
CONTAINER_REPO_TOKEN:
description: "Token to access Github Image Registry"
required: true
jobs:
# Apply licensing and formatting, then push changes.
# If changes are made, the workflow should end and be re-triggered by the
# new commit to ensure that the changes don't break anything.
license_and_format:
runs-on: ubuntu-latest
outputs:
made_changes: ${{ steps.commit-changes.outputs.pushed }}
steps:
- uses: actions/checkout@v4
with:
# Need non-default token so changes trigger additional CI
token: ${{ secrets.CMAIZE_GITHUB_TOKEN }}
- name: Add license
if: inputs.config_file != ''
uses: apache/[email protected]
with:
config: ${{ inputs.config_file }}
mode: fix
- name: Apply formatting
if: inputs.source_dir != ''
uses: DoozyX/[email protected]
with:
source: ${{ inputs.source_dir }}
extensions: 'hpp,cpp,ipp,h,c'
clangFormatVersion: 12
inplace: True
- name: Commit any changes
id: commit-changes
uses: EndBug/add-and-commit@v9
with:
author_name: github-actions[bot]
author_email: github-actions[bot]@users.noreply.github.com
message: 'Committing clang-format changes'
# Build and test C++ libraries.
# Runs in a container built on the NWX Build Environment image.
test_library:
needs: license_and_format
# Only run if no new changes were made above and if compilers isn't empty
if: |
needs.license_and_format.outputs.made_changes == 'false' &&
inputs.compilers != '' && toJson(fromJson(inputs.compilers)) != '[]'
runs-on: ubuntu-latest
container:
image: ghcr.io/nwchemex-project/nwx_buildenv:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.CONTAINER_REPO_TOKEN }}
strategy:
matrix:
compiler: ${{ fromJSON(inputs.compilers) }}
steps:
- uses: actions/checkout@v4
- name: Build and Test
env:
CMAIZE_GITHUB_TOKEN: ${{secrets.CMAIZE_GITHUB_TOKEN}}
run: |
toolchain=/toolchains/nwx_${{ matrix.compiler }}.cmake
echo 'set(CMAIZE_GITHUB_TOKEN '${CMAIZE_GITHUB_TOKEN}')' >> toolchain
cmake -Bbuild -H. -GNinja \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_TOOLCHAIN_FILE="${toolchain}"
cmake --build build --parallel
cd build
ctest --VV
shell: bash
# Test building the documentation.
test_build_docs:
needs: license_and_format
Only run if no new changes were made above

Check failure on line 130 in .github/workflows/common_pull_request.yaml

View workflow run for this annotation

GitHub Actions / .github/workflows/common_pull_request.yaml

Invalid workflow file

You have an error in your yaml syntax on line 130
if: |
needs.license_and_format.outputs.made_changes == 'false' &&
inputs.doc_target != ''
runs-on: ubuntu-latest
container:
image: ghcr.io/nwchemex-project/nwx_buildenv:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.CONTAINER_REPO_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: Doxygen Docs
if: ${{ inputs.doc_target != 'Sphinx' }}
run: |
cmake -Bbuild -H. -GNinja -DBUILD_DOCS=ON -DONLY_BUILD_DOCS=ON \
cmake --build build --target ${{ inputs.doc_target }} --parallel
# Migrate the Doxygen documentation to the docs source
mkdir docs/build
mkdir docs/build/html
mv build/html "docs/build/html/${{ inputs.doc_target }}"
shell: bash
- name: Sphinx Docs
run: |
cd docs
if [ -f requirements.txt ]; then
pip install -r requirements.txt
fi
make html
shell: bash