Skip to content

Commit ece606c

Browse files
committed
ci: add GitHub Actions workflows
Add a CI workflow that runs build, test and lint on push and pull requests. Add a docs workflow that builds the Sphinx documentation and deploys it to GitHub Pages on push to main. Signed-off-by: Robin Jarry <robin@jarry.cc>
1 parent 81a04f3 commit ece606c

2 files changed

Lines changed: 105 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Patchwork - automated patch tracking system
2+
# Copyright (C) The Patchwork Contributors (see CONTRIBUTORS)
3+
#
4+
# SPDX-License-Identifier: GPL-2.0-or-later
5+
6+
name: CI
7+
8+
on:
9+
push:
10+
branches: [main]
11+
pull_request:
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
- uses: actions/setup-go@v5
19+
with:
20+
go-version-file: go.mod
21+
- run: make
22+
23+
test:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: actions/setup-go@v5
28+
with:
29+
go-version-file: go.mod
30+
- run: make test
31+
32+
lint:
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
- uses: actions/setup-go@v5
37+
with:
38+
go-version-file: go.mod
39+
- uses: actions/setup-python@v5
40+
with:
41+
python-version: "3.x"
42+
- run: pip install codespell
43+
- run: make lint
44+
45+
commits:
46+
runs-on: ubuntu-latest
47+
if: github.event.pull_request.commits
48+
env:
49+
REVISION_RANGE: "HEAD~${{ github.event.pull_request.commits }}.."
50+
steps:
51+
- uses: actions/checkout@v4
52+
with:
53+
fetch-depth: 0
54+
ref: ${{ github.event.pull_request.head.sha }}
55+
- uses: actions/setup-python@v5
56+
with:
57+
python-version: "3.x"
58+
- run: pip install codespell
59+
- run: make check-patches

‎.github/workflows/docs.yml‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Patchwork - automated patch tracking system
2+
# Copyright (C) The Patchwork Contributors (see CONTRIBUTORS)
3+
#
4+
# SPDX-License-Identifier: GPL-2.0-or-later
5+
6+
name: Docs
7+
8+
on:
9+
push:
10+
branches: [main]
11+
pull_request:
12+
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
concurrency:
19+
group: pages-${{ github.ref }}
20+
cancel-in-progress: true
21+
22+
jobs:
23+
build:
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v4
27+
with:
28+
fetch-depth: 0
29+
- uses: actions/setup-python@v5
30+
with:
31+
python-version: "3.x"
32+
- run: make docs
33+
- uses: actions/upload-pages-artifact@v3
34+
with:
35+
path: docs/_build
36+
37+
deploy:
38+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
39+
needs: build
40+
runs-on: ubuntu-latest
41+
environment:
42+
name: github-pages
43+
url: ${{ steps.deployment.outputs.page_url }}
44+
steps:
45+
- id: deployment
46+
uses: actions/deploy-pages@v4

0 commit comments

Comments
 (0)