aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-05-20 10:52:57 +0200
committerEgor Tensin <egor@tensin.name>2026-05-20 10:52:57 +0200
commit4d483cf4df99de78d42926d767104c4df5081fda (patch)
treebed5cdf2edb173f76121faae76fd30de4d2d6070 /.github/workflows/ci.yml
parentworkflows: split out the PyPI publishing workflow (diff)
downloadcmake-common-4d483cf4df99de78d42926d767104c4df5081fda.tar.gz
cmake-common-4d483cf4df99de78d42926d767104c4df5081fda.zip
workflows: rework the publish workflow
For some reason, when using workflow_run: trigger, it gets triggered on any listed workflow, not on all of them as I would expect.
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml63
1 files changed, 63 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..28c9ea5
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,63 @@
+name: CI
+
+on:
+ push:
+ paths-ignore:
+ - 'docs/**'
+ - 'README.md'
+ schedule:
+ # Weekly, at 01:30 AM on Friday (somewhat randomly chosen).
+ - cron: '30 01 * * 5'
+ workflow_dispatch:
+
+jobs:
+ basic:
+ uses: ./.github/workflows/basic.yml
+
+ boost_download:
+ uses: ./.github/workflows/boost_download.yml
+
+ boost_toolsets:
+ uses: ./.github/workflows/boost_toolsets.yml
+
+ example_toolsets:
+ uses: ./.github/workflows/example_toolsets.yml
+
+ msvc_versions:
+ uses: ./.github/workflows/msvc_versions.yml
+
+ # Build a Python package and upload to PyPI.
+ publish:
+ runs-on: ubuntu-latest
+ needs:
+ - basic
+ - boost_toolsets
+ - example_toolsets
+ name: Publish
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ - name: Set up Python
+ uses: actions/setup-python@v6
+ with:
+ python-version: '3.x'
+ - name: Verify package can be installed
+ run: pip install -q .
+ - name: Install package builder
+ run: pip install -q --upgrade build
+ - name: Build package
+ run: python -m build
+ - name: Publish as artifact
+ uses: actions/upload-artifact@v7
+ with:
+ name: dist
+ path: dist
+ if-no-files-found: error
+ - name: Publish to PyPI
+ if: startsWith(github.ref, 'refs/tags/')
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ user: __token__
+ password: '${{ secrets.PYPI_API_TOKEN }}'