Skip to content

Commit

Permalink
Ascent Ci for ReSolve and Github (#4)
Browse files Browse the repository at this point in the history
* add pipeline for ascent

* Remove push on MR

* Update .github/workflows/ornl_ascent_mirror.yaml

Co-authored-by: pelesh <[email protected]>

---------

Co-authored-by: [email protected] <[email protected]>
Co-authored-by: pelesh <[email protected]>
  • Loading branch information
3 people authored Oct 16, 2023
1 parent 38ecf85 commit 936f2a3
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 1 deletion.
33 changes: 33 additions & 0 deletions .github/pnnl_mirror.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: PNNL Mirror

# triggers a github action everytime there is a push or mr
on:
pull_request:
push:
branches:
- develop
- main

jobs:
# To test on HPC resources we must first mirror the repo and then trigger a pipeline
push:
# Latest Ubuntu as of Feb 2023 is 20.04
runs-on: ubuntu-22.04
steps:
# Action checks-out your repository under $GITHUB_WORKSPACE, so your workflow can access it.
- uses: actions/checkout@v1

# Necessary to get branch name independent of PR/push
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

# Action for mirroring your commits to a different remote repository
- uses: yesolutions/mirror-action@master
# Give actions access to some secrets
with:
GIT_PUSH_ARGS: '--tags --force --push-option=ci.skip'
REMOTE: 'https://gitlab.pnnl.gov/exasgd/frameworks/exago-github-mirror'
GIT_USERNAME: ${{ secrets.GIT_USER }}
GIT_PASSWORD: ${{ secrets.GIT_PASSWORD }}
9 changes: 9 additions & 0 deletions .github/workflows/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Documentation about the style options and their meaning
# https://releases.llvm.org/12.0.0/tools/clang/docs/ClangFormatStyleOptions.html

Language: Cpp
AccessModifierOffset: 0
AlignConsecutiveMacros: true
BreakBeforeBraces: Linux
ColumnLimit: 150
ConstructorInitializerIndentWidth: 2
19 changes: 19 additions & 0 deletions .github/workflows/.cmake-format.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# -*- Python -*-

with section("format"):

# How wide to allow formatted cmake files
line_width = 80

# How many spaces to tab for indent
tab_size = 2

# If true, separate flow control names from their parentheses with a space
separate_ctrl_name_with_space = False

# If true, separate function names from parentheses with a space
separate_fn_name_with_space = False

# If a statement is wrapped to more than one line, than dangle the closing
# parenthesis on its own line.
dangle_parens = True
38 changes: 38 additions & 0 deletions .github/workflows/ornl_ascent_mirror.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: ORNL Ascent Mirror

# triggers a github action everytime there is a push or mr
on:
push:

jobs:
# To test on HPC resources we must first mirror the repo and then trigger a pipeline
push:
# Latest Ubuntu as of Feb 2023 is 20.04
runs-on: ubuntu-22.04
steps:
# Action checks-out your repository under $GITHUB_WORKSPACE, so your workflow can access it.
- uses: actions/checkout@v1

# Necessary to get branch name independent of PR/push
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

- name: git checkout
run: git switch ${{ steps.extract_branch.outputs.branch }}

# Action for mirroring your commits to a different remote repository
- uses: yesolutions/mirror-action@master
# Give actions access to some secrets
with:
PUSH_ALL_REFS: "false"
GIT_REF: ${{ steps.extract_branch.outputs.branch }}
GIT_PUSH_ARGS: '--tags --force --push-option=ci.skip'
REMOTE: 'https://code.ornl.gov/ecpcitest/exasgd/resolve'
GIT_USERNAME: ${{ secrets.GIT_USER }}
GIT_PASSWORD: ${{ secrets.ORNL_ASCENT_GIT_PASSWORD }}

# Trigger CI pipeline since it was skipped in the above push
- name: Trigger Pipeline
run: curl -X POST -F token=${{ secrets.ORNL_ASCENT_PIPELINE_TRIGGER }} -F ref=${{ steps.extract_branch.outputs.branch }} https://code.ornl.gov/api/v4/projects/13292/trigger/pipeline
38 changes: 37 additions & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,40 @@ Ascent-Build-Test:
- batch
extends:
- .resolve_build_script
- .ornl_environment_template
- .ornl_environment_template

.report-status:
variables:
GIT_STRATEGY: none
STATUS_PROJECT: ORNL/ReSolve
MY_CLUSTER: Ascent
tags:
- nobatch
extends:
- .ornl_environment_template
script:
# For complete details on the GitLab API please see:
# https://docs.gitlab.com/ee/api/commits.html#post-the-build-status-to-a-commit
# Make sure to create the token with Developer level access and API scope
- |
curl -L -X POST -H @${GITHUB_CURL_HEADERS} https://api.github.com/repos/${STATUS_PROJECT}/statuses/${CI_COMMIT_SHA} -d "{\"state\":\"${CI_JOB_NAME}\",\"target_url\":\"${CI_PIPELINE_URL}\",\"context\":\"${MY_CLUSTER}\"}"
environment:
name: reporting-gitlab

pending:
extends:
- .report-status
stage: .pre

success:
stage: .post
extends:
- .report-status

failure:
stage: .post
extends:
- .report-status
rules:
- when: on_failure

0 comments on commit 936f2a3

Please sign in to comment.