Squashed 'src/' changes from b15a6bde..b33a48e2

b33a48e2 Add workflows and configuration for syncing and linting subtrees

git-subtree-dir: src
git-subtree-split: b33a48e2bab452868b846a242ce3ac8ba7e4748f
This commit is contained in:
github-actions[bot] 2025-08-06 22:48:13 +00:00
parent febfa05e38
commit e2bd17174b
12 changed files with 225 additions and 0 deletions

7
.github/subtrees.json vendored Normal file
View File

@ -0,0 +1,7 @@
[
{
"prefix": "phreeqcpp",
"url": "git@${CI_SERVER_HOST}:${GROUP}-subtrees/phreeqc3-src.git",
"repo": "usgs-coupled-subtrees/phreeqc3-src"
}
]

9
.github/superprojects.json vendored Normal file
View File

@ -0,0 +1,9 @@
{
"usgs-coupled-subtrees/iphreeqc-src": {
"superprojects": [
"usgs-coupled-subtrees/iphreeqc",
"usgs-coupled-subtrees/iphreeqccom",
"usgs-coupled-subtrees/phreeqcrm-src"
]
}
}

22
.github/workflows/lint-subtrees.yml vendored Normal file
View File

@ -0,0 +1,22 @@
# This workflow lints the subtrees.json file to ensure it is valid and up-to-date.
# It is triggered on pull requests that modify the subtrees.json file or can be run manually
# via the GitHub Actions UI.
name: Lint subtrees.json
on:
pull_request:
paths:
- '.github/subtrees.json'
workflow_call:
workflow_dispatch:
jobs:
lint-subtrees:
runs-on: ubuntu-latest
env:
CI_SERVER_HOST: github.com
GROUP: usgs-coupled
steps:
- uses: usgs-coupled-subtrees/sync-subtrees-action/lint-subtrees/@main
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

View File

@ -0,0 +1,16 @@
name: Lint superprojects.json
on:
pull_request:
paths:
- '.github/superprojects.json'
workflow_call:
workflow_dispatch:
jobs:
lint-superprojects:
runs-on: ubuntu-latest
steps:
- uses: usgs-coupled-subtrees/sync-subtrees-action/lint-superprojects/@main
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

37
.github/workflows/subtree.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: Sync Subtrees
on:
push:
branches:
- master
workflow_dispatch:
inputs:
dryRun:
description: 'If true, dont push any changes (for testing only).'
required: true
default: false
type: boolean
testMerge:
description: 'Run in test mode, pushing to a test branch.'
required: true
default: false
type: boolean
jobs:
sync-subtrees:
if: startsWith(github.repository, 'usgs-coupled-subtrees/')
runs-on: ubuntu-latest
env:
CI_SERVER_HOST: github.com
GROUP: usgs-coupled
GH_TOKEN: ${{ secrets.WORKFLOW_PAT }}
steps:
- name: Run sync-subtrees-action
uses: usgs-coupled-subtrees/sync-subtrees-action@main
with:
dryRun: ${{ inputs.dryRun }}
testMerge: ${{ inputs.testMerge }}
repository_name: ${{ github.event.repository.name }}
default_branch: ${{ github.event.repository.default_branch }}
run_number: ${{ github.run_number }}
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}

7
phreeqcpp/.github/subtrees.json vendored Normal file
View File

@ -0,0 +1,7 @@
[
{
"prefix": "common",
"url": "git@${CI_SERVER_HOST}:${GROUP}-subtrees/phreeqc3-src-common.git",
"repo": "usgs-coupled-subtrees/phreeqc3-src-common"
}
]

8
phreeqcpp/.github/superprojects.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"usgs-coupled-subtrees/phreeqc3-src": {
"superprojects": [
"usgs-coupled-subtrees/iphreeqc-src",
"usgs-coupled-subtrees/phreeqc3"
]
}
}

View File

@ -0,0 +1,22 @@
# This workflow lints the subtrees.json file to ensure it is valid and up-to-date.
# It is triggered on pull requests that modify the subtrees.json file or can be run manually
# via the GitHub Actions UI.
name: Lint subtrees.json
on:
pull_request:
paths:
- '.github/subtrees.json'
workflow_call:
workflow_dispatch:
jobs:
lint-subtrees:
runs-on: ubuntu-latest
env:
CI_SERVER_HOST: github.com
GROUP: usgs-coupled
steps:
- uses: usgs-coupled-subtrees/sync-subtrees-action/lint-subtrees/@main
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

37
phreeqcpp/.github/workflows/subtree.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: Sync Subtrees
on:
push:
branches:
- master
workflow_dispatch:
inputs:
dryRun:
description: 'If true, dont push any changes (for testing only).'
required: true
default: false
type: boolean
testMerge:
description: 'Run in test mode, pushing to a test branch.'
required: true
default: false
type: boolean
jobs:
sync-subtrees:
if: startsWith(github.repository, 'usgs-coupled-subtrees/')
runs-on: ubuntu-latest
env:
CI_SERVER_HOST: github.com
GROUP: usgs-coupled
GH_TOKEN: ${{ secrets.WORKFLOW_PAT }}
steps:
- name: Run sync-subtrees-action
uses: usgs-coupled-subtrees/sync-subtrees-action@main
with:
dryRun: ${{ inputs.dryRun }}
testMerge: ${{ inputs.testMerge }}
repository_name: ${{ github.event.repository.name }}
default_branch: ${{ github.event.repository.default_branch }}
run_number: ${{ github.run_number }}
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}

View File

@ -0,0 +1,7 @@
{
"usgs-coupled-subtrees/phreeqc3-src-common": {
"superprojects": [
"usgs-coupled-subtrees/phreeqc3-src"
]
}
}

View File

@ -0,0 +1,16 @@
name: Lint superprojects.json
on:
pull_request:
paths:
- '.github/superprojects.json'
workflow_call:
workflow_dispatch:
jobs:
lint-superprojects:
runs-on: ubuntu-latest
steps:
- uses: usgs-coupled-subtrees/sync-subtrees-action/lint-superprojects/@main
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

View File

@ -0,0 +1,37 @@
name: Sync Subtrees
on:
push:
branches:
- master
workflow_dispatch:
inputs:
dryRun:
description: 'If true, dont push any changes (for testing only).'
required: true
default: false
type: boolean
testMerge:
description: 'Run in test mode, pushing to a test branch.'
required: true
default: false
type: boolean
jobs:
sync-subtrees:
if: startsWith(github.repository, 'usgs-coupled-subtrees/')
runs-on: ubuntu-latest
env:
CI_SERVER_HOST: github.com
GROUP: usgs-coupled
GH_TOKEN: ${{ secrets.WORKFLOW_PAT }}
steps:
- name: Run sync-subtrees-action
uses: usgs-coupled-subtrees/sync-subtrees-action@main
with:
dryRun: ${{ inputs.dryRun }}
testMerge: ${{ inputs.testMerge }}
repository_name: ${{ github.event.repository.name }}
default_branch: ${{ github.event.repository.default_branch }}
run_number: ${{ github.run_number }}
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}