-
Notifications
You must be signed in to change notification settings - Fork 1
135 lines (118 loc) · 4.12 KB
/
changelog.yml
File metadata and controls
135 lines (118 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: "Changelog"
on:
pull_request:
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
branches:
- main
env:
NODE_VERSION: 22.x
ADDON_NAME: volto-blog
BASE_BRANCH: main
jobs:
config:
runs-on: ubuntu-latest
outputs:
backend: ${{ steps.filter.outputs.backend }}
frontend: ${{ steps.filter.outputs.frontend }}
repository: ${{ steps.filter.outputs.repository }}
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3.0.2
id: filter
with:
filters: |
backend:
- 'backend/**'
repository:
- '.github/**'
- '.vscode/**'
- 'devops/**'
- 'docs/**'
- 'docker-compose.yml'
- 'README.md'
frontend:
- 'frontend/**'
backend:
if: ${{ needs.config.outputs.backend == 'true' }}
runs-on: ubuntu-latest
needs:
- config
steps:
- uses: actions/checkout@v4
with:
# Fetch all history
fetch-depth: '0'
- name: Install pipx
run: pip install towncrier
- name: Check for presence of a Change Log fragment (only pull requests)
if: github.event_name == 'pull_request'
run: |
# Fetch the pull request' base branch so towncrier will be able to
# compare the current branch with the base branch.
# Source: https://github.com/actions/checkout/#fetch-all-branches.
git fetch --no-tags origin ${BASE_BRANCH}
towncrier check --compare-with origin/${{ env.BASE_BRANCH }} --config backend/pyproject.toml --dir backend/
frontend:
if: ${{ needs.config.outputs.frontend == 'true' }}
runs-on: ubuntu-latest
needs:
- config
defaults:
run:
working-directory: ./frontend
steps:
- uses: actions/checkout@v4
with:
# Fetch all history
fetch-depth: '0'
- name: Install pipx
run: pip install towncrier
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Enable corepack
run: npm i -g corepack@latest && corepack enable
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: make install
- name: Check for presence of a Change Log fragment (only pull requests)
if: github.event_name == 'pull_request'
run: |
# Fetch the pull request' base branch so towncrier will be able to
# compare the current branch with the base branch.
# Source: https://github.com/actions/checkout/#fetch-all-branches.
git fetch --no-tags origin ${BASE_BRANCH}
cd ..
towncrier check --compare-with origin/${{ env.BASE_BRANCH }} --config frontend/packages/${{ env.ADDON_NAME }}/towncrier.toml --dir frontend/packages/${{ env.ADDON_NAME }}
repository:
if: ${{ needs.config.outputs.repository == 'true' }}
runs-on: ubuntu-latest
needs:
- config
steps:
- uses: actions/checkout@v4
with:
# Fetch all history
fetch-depth: '0'
- name: Install pipx
run: pip install towncrier
- name: Check for presence of a Change Log fragment (only pull requests)
if: github.event_name == 'pull_request'
run: |
# Fetch the pull request' base branch so towncrier will be able to
# compare the current branch with the base branch.
# Source: https://github.com/actions/checkout/#fetch-all-branches.
git fetch --no-tags origin ${BASE_BRANCH}
towncrier check --compare-with origin/${{ env.BASE_BRANCH }} --config towncrier.toml --dir .