Skip to content

Commit 0073ed1

Browse files
authored
Merge branch 'master' into rule-builder-registry
2 parents 324041e + c3e2bb6 commit 0073ed1

151 files changed

Lines changed: 7495 additions & 11215 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "uv" # See documentation for possible values
4+
directory: "/" # Location of package manifests
5+
schedule:
6+
interval: "daily"
7+
commit-message:
8+
prefix: "chore"
9+
10+
- package-ecosystem: "github-actions"
11+
directory: "/"
12+
schedule:
13+
interval: "weekly"
14+
commit-message:
15+
prefix: "chore"

.github/workflows/ci.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: CI Pipeline
2+
3+
on:
4+
pull_request:
5+
branches: [master]
6+
workflow_dispatch:
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
validation:
14+
if: github.repository == 'sequence-toolbox/SeQUeNCe'
15+
name: Run Unit Tests
16+
permissions:
17+
contents: read
18+
code-quality: write
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
os:
23+
- ubuntu-latest
24+
- macos-latest
25+
- windows-latest
26+
python-version:
27+
- "3.12"
28+
- "3.13"
29+
- "3.14"
30+
runs-on: ${{ matrix.os }}
31+
steps:
32+
- uses: actions/checkout@v7
33+
34+
- name: Install uv and set py version
35+
uses: astral-sh/setup-uv@v7
36+
with:
37+
python-version: ${{ matrix.python-version }}
38+
enable-cache: true
39+
40+
- name: Install sequence
41+
run: uv sync --locked --all-extras --dev --no-editable
42+
43+
- name: Run tests
44+
run: uv run pytest --cov=. --cov-report=xml
45+
46+
- name: Upload coverage report
47+
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
48+
uses: actions/upload-code-coverage@v1
49+
with:
50+
file: coverage.xml
51+
language: Python
52+
label: code-coverage/pytest

.github/workflows/development.yml

Lines changed: 0 additions & 108 deletions
This file was deleted.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Mirror to GitLab
2+
on:
3+
push:
4+
branches: [ '**' ]
5+
tags: [ '**' ]
6+
delete:
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: mirror-to-gitlab
14+
cancel-in-progress: true
15+
16+
jobs:
17+
mirror:
18+
if: github.repository == 'sequence-toolbox/SeQUeNCe'
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout full history
22+
uses: actions/checkout@v7
23+
with:
24+
fetch-depth: 0
25+
persist-credentials: false
26+
- name: Push to GitLab
27+
env:
28+
GITLAB_TOKEN: ${{ secrets.GITLAB_KEY }}
29+
GITLAB_REPO: ${{ secrets.GITLAB_URL }}
30+
run: |
31+
git remote add gitlab "https://oauth2:${GITLAB_TOKEN}@${GITLAB_REPO}"
32+
git update-ref -d refs/remotes/origin/HEAD || true
33+
git push --force --prune gitlab "refs/remotes/origin/*:refs/heads/*" "refs/tags/*:refs/tags/*"

.github/workflows/pr_checks.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Validate PRs
2+
on:
3+
pull_request:
4+
types: [opened, synchronize, reopened, edited]
5+
6+
permissions:
7+
pull-requests: write
8+
9+
jobs:
10+
validate-pr-title:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: PR Conventional Commit Validation
14+
uses: ytanikin/pr-conventional-commits@1.5.2
15+
with:
16+
task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]'

.github/workflows/publish.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
name: CD Pipeline
1+
name: Publish to PyPi
22

33
on:
44
push:
55
branches: [master]
66
release:
77
types: [published]
8-
workflow_dispatch:
98

109
jobs:
1110
build-release:
1211
name: Build the release
1312
runs-on: ubuntu-latest
1413
if: github.event_name == 'release' && github.repository == 'sequence-toolbox/SeQUeNCe'
1514
steps:
16-
- uses: actions/checkout@v6
15+
- uses: actions/checkout@v7
1716
with:
1817
persist-credentials: true
1918
- name: Install uv
@@ -23,7 +22,7 @@ jobs:
2322
- name: Build wheel and tarball
2423
run: uv build
2524
- name: Store dist as an artifact
26-
uses: actions/upload-artifact@v4
25+
uses: actions/upload-artifact@v7
2726
with:
2827
name: python-release-package-dist
2928
path: dist/
@@ -33,7 +32,7 @@ jobs:
3332
runs-on: ubuntu-latest
3433
if: github.event_name == 'push' && github.repository == 'sequence-toolbox/SeQUeNCe'
3534
steps:
36-
- uses: actions/checkout@v6
35+
- uses: actions/checkout@v7
3736
with:
3837
persist-credentials: true
3938
- name: Install uv
@@ -46,7 +45,7 @@ jobs:
4645
- name: Build wheel and tarball for test
4746
run: uv build
4847
- name: Store test dist as an artifact
49-
uses: actions/upload-artifact@v4
48+
uses: actions/upload-artifact@v7
5049
with:
5150
name: python-test-package-dist
5251
path: dist/
@@ -65,12 +64,14 @@ jobs:
6564

6665
steps:
6766
- name: Download all the dists
68-
uses: actions/download-artifact@v5
67+
uses: actions/download-artifact@v8
6968
with:
7069
name: python-release-package-dist
7170
path: dist/
7271
- name: Publish dist to TestPyPI
73-
uses: pypa/gh-action-pypi-publish@release/v1
72+
uses: pypa/gh-action-pypi-publish@v1.14.0
73+
with:
74+
attestations: true
7475

7576
publish-to-test-pypi:
7677
name: Publish dist to TestPyPi
@@ -87,12 +88,12 @@ jobs:
8788

8889
steps:
8990
- name: Download all the test dists
90-
uses: actions/download-artifact@v5
91+
uses: actions/download-artifact@v8
9192
with:
9293
name: python-test-package-dist
9394
path: dist/
9495
- name: Publish dist to TestPyPI
95-
uses: pypa/gh-action-pypi-publish@release/v1
96+
uses: pypa/gh-action-pypi-publish@v1.14.0
9697
with:
9798
attestations: true
9899
repository-url: https://test.pypi.org/legacy/

.github/workflows/release.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Generate Release
2+
on:
3+
workflow_dispatch:
4+
5+
permissions: {}
6+
7+
concurrency:
8+
group: ${{ github.workflow }}-${{ github.ref }}
9+
cancel-in-progress: false
10+
11+
jobs:
12+
release:
13+
environment: release
14+
runs-on: ubuntu-latest
15+
if: github.repository == 'sequence-toolbox/SeQUeNCe'
16+
permissions:
17+
contents: read
18+
steps:
19+
- name: Create App Token
20+
id: generate-token
21+
uses: actions/create-github-app-token@v3
22+
with:
23+
client-id: ${{ vars.APP_CLIENT_ID }}
24+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
25+
- name: Checkout Master
26+
uses: actions/checkout@v7
27+
with:
28+
fetch-depth: '0'
29+
token: ${{ steps.generate-token.outputs.token }}
30+
ref: ${{ github.ref_name }}
31+
32+
- name: Stamp and release
33+
uses: python-semantic-release/python-semantic-release@v10.5.3
34+
with:
35+
github_token: ${{ steps.generate-token.outputs.token }}
36+
git_committer_email: 298530268+sequence-release-bot[bot]@users.noreply.github.com
37+
git_committer_name: sequence-release-bot[bot]
38+
vcs_release: true
39+
changelog: true

.github/workflows/validation.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)