Skip to content

Commit 28c2df0

Browse files
committed
.github: add workflows to check, verify and release git-review-rebase.
Signed-off-by: Quentin Casasnovas <quentin.casasnovas@vates.tech>
1 parent 2c91cf5 commit 28c2df0

5 files changed

Lines changed: 182 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Setup UV and Sync
2+
description: 'Install uv and sync the dependencies'
3+
inputs:
4+
sync:
5+
description: 'Whether to run `uv sync` after setting up.'
6+
required: false
7+
default: 'true'
8+
type: boolean
9+
dev:
10+
description: 'Whether to use `--no-dev` with `uv sync`.'
11+
required: false
12+
default: 'true'
13+
type: boolean
14+
activate-environment:
15+
description: 'Wether to activate the virtual env or not'
16+
required: false
17+
default: true
18+
type: boolean
19+
working-directory:
20+
description: 'Use working-directory to run uv commands'
21+
required: false
22+
default: './'
23+
type: string
24+
runs:
25+
using: 'composite'
26+
steps:
27+
- uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
28+
with:
29+
version: "0.7.x"
30+
activate-environment: ${{ inputs.activate-environment }}
31+
working-directory: ${{ inputs.working-directory }}
32+
- if: inputs.sync == 'true' && inputs.dev == 'false'
33+
run: uv sync --frozen --no-dev
34+
shell: bash
35+
env:
36+
FORCE_COLOR: "1"
37+
working-directory: ${{ inputs.working-directory }}
38+
- if: inputs.sync == 'true' && inputs.dev == 'true'
39+
run: uv sync --frozen
40+
shell: bash
41+
env:
42+
FORCE_COLOR: "1"
43+
working-directory: ${{ inputs.working-directory }}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Static code checkers
2+
3+
on:
4+
push:
5+
paths:
6+
- ./scripts/git-review-rebase
7+
pull_request:
8+
paths:
9+
- ./scripts/git-review-rebase
10+
11+
permissions: {}
12+
13+
jobs:
14+
git-review-rebase-code-check:
15+
runs-on: ubuntu-latest
16+
env:
17+
FORCE_COLOR: 1
18+
defaults:
19+
run:
20+
working-directory: ./scripts/git-review-rebase
21+
steps:
22+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23+
with:
24+
persist-credentials: false
25+
- uses: ./.github/actions/uv-setup/
26+
with:
27+
working-directory: ./scripts/git-review-rebase/
28+
- run: mypy --install-types --non-interactive .
29+
- run: pyright
30+
- run: ruff check
31+
- run: flake8

‎.github/workflows/release.yml‎

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Create a release from tag
2+
3+
permissions: {}
4+
5+
on:
6+
push:
7+
tags:
8+
- 'git-review-rebase-*'
9+
10+
jobs:
11+
build-git-review-rebase:
12+
name: Build and store python artifacts
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: read
16+
defaults:
17+
run:
18+
working-directory: ./scripts/git-review-rebase/
19+
steps:
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
21+
with:
22+
persist-credentials: false
23+
24+
- uses: ./.github/actions/uv-setup/
25+
with:
26+
working-directory: ./scripts/git-review-rebase/
27+
- name: Build
28+
run: uv build
29+
30+
- name: Store python distribution artifacts
31+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
32+
with:
33+
name: git-review-rebase-artifacts
34+
35+
release-git-review-rebase:
36+
permissions:
37+
contents: write # allow creating a release
38+
39+
name: "Create and package a git-review-rebase release"
40+
runs-on: ubuntu-latest
41+
needs: [build-git-review-rebase]
42+
defaults:
43+
run:
44+
working-directory: ./scripts/git-review-rebase/
45+
steps:
46+
- name: Retrieve distribution artifacts
47+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
48+
with:
49+
name: git-review-rebase-artifacts
50+
51+
- name: Create release ${{ github.ref_name }}
52+
shell: bash
53+
run: |
54+
gh release create ${GITHUB_REF_NAME} --repo ${{ github.repository }} --generate-notes ./scripts/git-review-rebase/dist/*
55+
env:
56+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Check requirements file consistency
2+
3+
on:
4+
push:
5+
pull_request:
6+
paths:
7+
- ./scripts/git-review-rebase/
8+
9+
permissions: {}
10+
11+
jobs:
12+
requirements-check:
13+
runs-on: ubuntu-latest
14+
defaults:
15+
run:
16+
working-directory: ./scripts/git-review-rebase/
17+
steps:
18+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
19+
with:
20+
persist-credentials: false
21+
- uses: ./.github/actions/uv-setup/
22+
with:
23+
dev: false
24+
working-directory: ./scripts/git-review-rebase/
25+
- run: ./requirements/update_requirements.py
26+
- run: git diff --exit-code

‎.github/workflows/zizmor.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: GitHub Actions Security Analysis with zizmor 🌈
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
permissions: {}
8+
9+
jobs:
10+
zizmor:
11+
name: zizmor latest
12+
runs-on: ubuntu-latest
13+
defaults:
14+
run:
15+
working-directory: ./scripts/git-review-rebase/
16+
steps:
17+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
18+
with:
19+
persist-credentials: false
20+
- uses: ./.github/actions/uv-setup/
21+
with:
22+
sync: false
23+
working-directory: ./scripts/git-review-rebase/
24+
- run: uvx zizmor --color=always .
25+
env:
26+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)